In a mixing bowl, whisk eggs, heavy cream, cheddar and mozzarella cheese, garlic powder, salt and pepper. If you like, you can also add smoked paprika but optional. Set aside.
In a cast iron or oven-proof non-stick skillet (size 9-10 inches diameter by 2 inches deep) over medium heat, brush the sides and bottom of cast iron with 1 tablespoon oil, not necessary to do with skillet. Add and fry bacon until crisp. Transfer bacon to a plate lined with paper towel. Remove excess bacon grease leaving 1 tablespoon in cast iron. Note: You will need 1 more tablespoon of bacon grease for later use.
Reduce heat to low. brush the inside of cast iron with 1 tablespoon bacon grease.
Add red onion and cook for 30 seconds.
Toss-in spinach and cook until wilted. Transfer spinach on the same plate with bacon. Remove and discard liquid from skillet. Note: If you washed the spinach, make sure to remove the excess liquid.
Combine bacon, ham, cherry tomato, red bell pepper, spinach and onion in egg mixture. Mix well.
Note: If you like, you can save some of these ingredients to add on top of frittata before it set.
Brush the sides and bottom of cast iron with 1 tablespoon bacon grease. Pour egg mixture in cast iron. Cook for 25 – 30 minutes at low heat. Once the sides start to brown, keep an eye on the frittata. The center should be a little bit liquidy but set. Turn off heat.
Preheat oven at 350 degrees F and broil spinach frittata for 3 – 4 minutes. Note: I had it in a toaster oven.
Slice and serve in the skillet or transfer to a plate. Enjoy!
If you washed spinach, place in a colander to drain. Also remove excess liquid when cooked.
Bacon Spinach Frittata can be made in advance and refrigerate up to 4 days. Heat in the microwave for 20 seconds or have it cold. It is delicious cold.
If using frozen spinach, squeeze out water. It can be added directly to egg mixture as well as the onions.
Don't add too much salt as cheese and bacon are already salty.