Cook the bacon pieces in a skillet over medium heat until golden brown; remove from pan with a slotted spoon and place onto a paper towel.
Drain all the bacon grease from the skillet but don't wipe clean.
Add the shallot to the pan and cook, stirring often, for 2 minutes.
Add the chopped spinach and minced garlic to the skillet and cook, stirring constantly, for 1-2 minutes. Remove from the heat.
In a large bowl, mix the mashed potatoes, bacon, and spinach mixture until well combined.
Add the shredded Gruyere cheese, whisked egg, and 2 tablespoons of flour, and season with sea salt and freshly cracked pepper, to taste.
Using your hands, divide the mixture into 8 portions.
Roll each portion into a compact ball then flatten into a pancake about a 1/2-inch-thick.
Place the remaining 1/4 cup of flour in a shallow plate and season with a bit of sea salt and freshly cracked pepper, to taste.
Lightly dredge each side of the potato pancake in the flour.
Heat 2 teaspoons of vegetable oil plus 2 teaspoons of butter in a large non stick pan over medium heat.
Add the potato pancakes, in batches, until they’re golden brown and crispy on both sides, 3 to 4 minutes.
Add the remaining 2 teaspoons of vegetable oil and 2 teaspoons of butter to the pan for the second batch.
Transfer the pancakes to a paper towel-lined plate to cool a bit before serving.
Serve the potato pancakes topped with sour cream and chopped green onions.
Side Note: Don’t crowd the pan while cooking and do not flip the pancakes too soon or they won’t develop a yummy crispy crust!