Preheat the oven to 350° and set the oven rack 6-8 inches away from the broiler.
Use a 10 inch cast iron skillet that is well seasoned to prepare the frittata. If cast iron skillet is not available, make sure to use a pan that is oven-safe.*
Preheat the skillet over medium heat and add diced bacon. Cook until most of the fat is rendered.
Add diced onion and sauté until it starts to brown. drain off most of excess bacon fat. Move bacon and onion aside and add minced garlic to the center of the skillet. Sauté just until fragrant and mix together.
Add mushrooms and spinach and cook until completely wilted. Strain off excess liquids from the pan.
Whisk eggs, heavy whipping cream, salt, and pepper together vigorously for about 30-45 seconds.
Pour the eggs all over the filling and make sure that the filling ingredients are distributed evenly throughout the frittata.
Let it cook over medium heat for 1-2 minutes and transfer it into the oven. Cook another 6-8 minutes. Turn on the broiler and let the top get golden. (Make sure to watch the oven so the top of frittata doesn't burn.)
*If all you have available is a smaller cast iron skillet, like an 8-inch one, use 8 eggs and 1/4 cup of heavy whipping cream. Cook until the edges are completely set and desired doneness is reached.