Flexible recipes like this are my absolute favorite because I can use ingredients that I have on hand or whatever I’m in the mood for instead of having to slavishly follow a recipe. I feel like that kind of improvisation is the key to becoming a better cook.
In a 10″ cast-iron or ovenproof nonstick skillet, add enough oil to coat the bottom of pan and heat over medium.
Turn the heat to medium-low, add onions, garlic, potatoes and a pinch of salt and pepper. Cook, stirring occasionally, until the onions are soft and potatoes are cooked through and fork tender, about 10 minutes. Turn the heat up to medium-high and continue cooking until the potatoes are browned, about 5 minutes. Transfer the potatoes and onions to a plate and set aside.
Reduce the temperature to medium and heat up a teaspoon of olive oil in the skillet. Add in the broccoli and kale. Cook, stirring occasionally, until broccoli is crisp tender and the kale is wilted, about 5-7 minutes.
While the kale is cooking, break all the eggs into a bowl and beat with the salt and pepper. Set aside.
Add the chopped tomatoes to the skillet and cook for 1-2 minutes or until the tomatoes start to get soft and juicy.
Add the potato and onion mixture back in to the skillet and stir until all the vegetables are evenly distributed.
Pour the eggs over the vegetables. Place tomato slices on top. Sprinkle with mozzarella and Parmesan cheeses. Turn the heat to medium-low, cover and cook for 10-15 minutes or until the eggs look firm around the edges but still runny in the middle. Don’t be tempted to turn the heat up or you will burn it! If your frittata is very thick and it’s taking a really long time to set, you can place it in a 350 degree oven for 5-15 minutes, checking it regularly.
Turn on your broiler and place the skillet under it for 1-3 minutes or until the eggs are fully set (they will look opaque and puffy and will start to brown on top, similar to an omelet) and the cheese is melted and starting to brown.