Prep your vegetables: Chop the onion, bell pepper, zucchini, spinach, and tomatoes. Keep pieces small and even so they cook quickly and evenly.
Beat the eggs: In a bowl, whisk the eggs with the milk or cream (if using) until the mixture is fully blended and slightly frothy. Season with a pinch of salt and pepper.
Warm the pan: Place a medium nonstick skillet over medium heat.
Add the butter or oil and let it melt and coat the pan.
Sauté the aromatics: Add the onion with a small pinch of salt. Cook 2–3 minutes until it softens and turns translucent. Stir in the garlic and cook 30 seconds, just until fragrant.
Add sturdy veggies: Toss in the bell pepper and zucchini.
Cook 3–4 minutes, stirring occasionally, until they’re tender-crisp and lightly golden. Adjust heat if they brown too fast.
Add delicate veggies: Stir in the spinach and tomatoes. Cook 1–2 minutes until the spinach wilts and the tomatoes just begin to soften.
Taste and season the vegetables with salt and pepper.
Create space for the eggs: Push the vegetables to one side of the skillet to form a loose heap. Lower the heat to medium-low to avoid overcooking the eggs.
Pour in the eggs: Add the beaten eggs to the empty side of the pan. Let them sit for 10–15 seconds, then use a silicone spatula to gently pull the eggs from the edges toward the center, forming soft curds.
Combine gently: When the eggs are about 70–80% set and still glossy, fold the vegetables into the eggs.
Cook another 20–30 seconds until just set. Remove from heat so they stay tender.
Finish and serve: Sprinkle with Parmesan or feta and fresh herbs if you like. Taste and adjust seasoning.
Serve hot with toast, avocado, or a squeeze of lemon.