Prepare the vegetables: Heat a medium skillet over medium heat and melt the butter or oil.
Add the mushrooms and cook until tender, about 3-4 minutes.
Add the spinach and cook until wilted, about 1-2 minutes.
Add the tomatoes and sauté for about 1 minute.
Season with a pinch of salt and pepper.
Remove the cooked vegetables from the pan and set aside.
Prepare the eggs: While the vegetables are cooking, crack the eggs into a bowl and whisk thoroughly with the milk or cream (if using) and a pinch of salt and pepper.
Scramble the eggs: Pour the whisked egg mixture into the same pan over medium-low heat.
As the eggs begin to set on the bottom, use a spatula to gently fold the cooked edges towards the center, allowing the uncooked eggs to flow to the bottom.
Continue this process, stirring and folding gently, until the eggs are almost set but still look slightly moist and soft.
Combine and serve: Add the cooked vegetables and shredded cheese to the pan and stir to combine, allowing the cheese to melt.
Remove the pan from the heat immediately to prevent overcooking. Adjust seasoning with salt and pepper as needed.
Serve the scrambled eggs warm, optionally with your favorite side dishes.