Prep the ingredients: Crack the eggs into a bowl and whisk with a pinch of salt and pepper.
If using, add milk or cream. Slice the mushrooms and rinse the spinach if needed. Pat dry.
Heat the pan: Place a nonstick or well-seasoned skillet over medium heat.
Add 1 tablespoon butter or oil and warm until it shimmers or the butter foams.
Cook the mushrooms: Add sliced mushrooms in a single layer. Let them cook undisturbed for 2–3 minutes to brown. Stir and continue cooking until they release their moisture and it evaporates, about 3–5 more minutes.
Season lightly with salt and pepper.
Add garlic (optional): Stir in the minced garlic and cook for 30 seconds, just until fragrant. Don’t let it brown.
Wilt the spinach: Add the spinach to the pan. Toss with the mushrooms until the leaves wilt down, 1–2 minutes.
If there’s extra moisture, let it cook off.
Create space and add fat: Push the mushrooms and spinach to one side. Add a small knob of butter or a splash of oil to the empty side to help the eggs set softly.
Scramble the eggs: Pour the whisked eggs into the open space. Let them sit for a few seconds, then gently push from the edges toward the center with a spatula.
Keep the heat at medium to medium-low to avoid overcooking.
Combine and finish: When the eggs are about 70% set—still glossy and slightly wet—fold in the mushrooms and spinach. If using cheese, sprinkle it in now and gently stir to melt. Cook just until the eggs are softly set.
Season and serve: Taste and adjust salt and pepper.
Finish with chopped herbs if you like. Serve immediately with toast, a tortilla, or on its own.