In a large bowl, whisk together eggs, cream, salt, pepper. Stir in Gruyere, fontina, feta, and Parmesan; set aside.
In a large 10-inch cast iron skillet, heat oil over medium heat. Add tomatoes, basil, pepper flakes, and Italian seasoning. Cook until tomatoes soften and release their juices, about 4-5 minutes.
Stir in scallions and shallots and cook for 2 minutes. Add garlic and cook 1 minute until fragrant.
Add spinach and saute until it begins to wilt, about 1-2 minutes. Season with additional salt and pepper. Reduce to medium-low heat.
Pour in egg mixture and gently stir just until vegetables are evenly mixed in. Cook egg mixture until it begins to set, 3-5 minutes.
Transfer skillet to preheated oven. Bake until center is set, 15 to 20 minutes. Remove from oven and let rest in skillet for 5 minutes.
Loosen frittata edges and bottom from pan with a rubber spatula.
Unmold fritatta by placing a large plate, serving side down over the skillet. Flip the skillet and plate over together to release fritatta. Quickly place serving plate on top of inverted fritatta and flip again to present the top of the fritatta.