Preheat your oven to 350°F (175°C) so it’s hot and ready by the time you finish assembling the casserole.
Place the bacon strips in a skillet over medium heat. Cook slowly, allowing the fat to render, until the bacon becomes crispy and golden. Transfer the cooked bacon to a cutting board, let it cool for a minute, then chop it into small bite-sized pieces.
Using the same skillet (and keeping about 1–2 teaspoons of the bacon grease for flavor), sauté the chopped onion and minced garlic for 3–4 minutes, or until the onion becomes soft and translucent. Add the spinach and cook until completely wilted, stirring occasionally. Remove the skillet from heat and let the vegetables cool slightly.
In a large mixing bowl, whisk the eggs and heavy cream together until the mixture is completely smooth and slightly frothy. Season with salt and pepper according to your taste.
Add the chopped bacon, the sautéed onion-garlic-spinach mixture, and the shredded cheese into the egg mixture. Stir gently until everything is evenly distributed throughout the bowl.
Lightly grease a baking dish with butter, oil, or non-stick spray. Pour the casserole mixture into the dish and spread the ingredients out evenly with a spatula so they bake uniformly.
Place the dish into the preheated oven and bake for 30–35 minutes, or until the casserole is fully set in the center and the top turns a light golden brown. If the center still jiggles, continue baking in 3–5 minute increments.
Remove the casserole from the oven and allow it to cool for about 5 minutes. This helps it firm up slightly and makes slicing much easier. Cut into portions and serve warm.