Preheat the oven to 400°F and move the rack to the middle position
In a small bowl, whisk together eggs, heavy cream, and a pinch of salt. Set aside
If using bacon, cook in a medium cast iron skillet over medium-high heat until crisp (8–10 minutes). Transfer to a paper towel-lined plate and remove all but 2 tablespoon of fat. If not using bacon, heat 2 tablespoon oil instead
Return the pan to medium heat and add sliced potatoes. Season with salt and pepper. Cook, stirring occasionally, until tender and lightly browned, about 10 minutes
Add the spinach and garlic. Cook, stirring, for 30–60 seconds until spinach begins to wilt
Add the cooked bacon back into the pan, stir to combine
Spread the mixture into an even layer and flatten with a spatula
Sprinkle cheese over top
Pour egg mixture over everything, tilting the pan slightly to distribute
Cook for 2 minutes until eggs begin to set at the edges
Transfer pan to oven and bake until eggs are fully set, about 10–12 minutes
For a crisp top, broil for 60–90 seconds
Let cool for 5 minutes, slice into wedges, and serve