Preheat oven to 400 degrees F.
Whisk the eggs, heavy cream, and 1/2 teaspoon salt together in a medium sized bowl. Set aside.
Place the diced bacon in a cold 10-12 inch cast iron skillet, then turn the heat to medium/medium-high heat.
Cook the bacon, stirring occasionally, until crispy.
Remove the bacon (set aside) and grease, reserving 2 tablespoons for frying the potatoes.
Return the pan with 2 tablespoons bacon grease to medium heat.
Add the onion, potatoes, pepper, and remaining 1 teaspoon salt.
Cook, stirring regularly, until the potatoes are fairly tender and lightly browned, about 6 minutes.
Add in the spinach and garlic, and cook for 30 seconds.
Stir the bacon back in and spread everything into an even layer.
Sprinkle the cheddar, gruyere, and parmesan cheese on top.
Pour the egg mixture evenly over the vegetables and cheese.
Cook for 1-2 minutes, or until you see the eggs at the edges of the pan beginning to set.
Bake in preheated oven until the eggs are set, about 20-25 minutes.
Cool for 5 minutes, slice into wedges, serve, and enjoy!
Take 5 seconds to . We greatly appreciate it!