Preheat the oven to 375°F. Beat together eggs, salt, and pepper until just mixed. Stir in grated cheeses and hot sauce, if using, and set aside.
In a large oven-proof nonstick skillet, melt butter over medium-high heat. Add onions and cook for several minutes, stirring frequently, until onions are soft and golden brown. Add diced potato, sprinkle with salt and pepper, to taste, and stir to cook for about 2 minutes. Add spinach and tomatoes and stir until spinach is just wilted, about 1 minute.
Pour in the egg mixture so it evenly coats everything. Let sit on burner for 30-45 seconds to set edges, then put the skillet in the oven. Let bake for about 10 minutes, until the eggs are set. Watch as it cooks and remove it before it browns too much on top.
Slide the frittata out of the skillet and onto a cutting board. With a long, serrated knife, slice into wedges and serve warm. Top each slice with fresh basil.
Notes
*Alternatively, you can use 1 cup frozen shredded hash brown potatoes.You can use any vegetables you have on hand, such as mushrooms, leeks, peppers, other greens, artichoke hearts, etc.