Prep the vegetables. Wash and chop everything into small, bite-size pieces. Smaller pieces cook faster and blend well with the eggs.
Beat the eggs. In a bowl, whisk eggs with a pinch of salt and pepper.
Add milk or water if you like fluffier eggs. Whisk until the mixture looks smooth and lightly frothy.
Heat the pan. Place a nonstick or well-seasoned skillet over medium heat. Add olive oil or butter and let it warm until it shimmers or melts.
Sauté firm veggies first. Add onion, bell pepper, and mushrooms.
Cook 3–4 minutes, stirring occasionally, until softened and slightly golden. Add garlic in the last 30 seconds.
Add quick-cooking veggies. Stir in spinach and tomatoes. Cook another 1–2 minutes until the greens wilt and tomatoes start to soften.
Season with a little salt and pepper.
Lower the heat slightly. Push the veggies into an even layer. Reduce heat to medium-low so the eggs don’t brown or dry out.
Pour in the eggs. Add the beaten eggs over the vegetables. Let them sit for about 10–15 seconds, then use a spatula to slowly pull the edges toward the center, forming soft curds.
Gently scramble. Continue to fold and move the eggs around the pan every few seconds.
If using cheese, sprinkle it in when the eggs are about 70% set.
Finish soft, not dry. Cook until the eggs are just set and still glossy. Residual heat will finish the job. Taste and adjust salt, pepper, and optional red pepper flakes.
Serve. Top with fresh herbs and avocado if you like.
Serve with whole-grain toast or wrap in a warm tortilla for a quick breakfast taco.