In a medium bowl, whisk the eggs until well combined. Season with salt and pepper to taste.
Heat a non-stick skillet over medium heat and add the butter or olive oil, allowing it to melt and coat the pan evenly.
Add the sliced mushrooms to the skillet and sauté for about 3-4 minutes, or until they are tender and starting to brown.
Stir in the chopped spinach and cook for an additional 1-2 minutes, until the spinach wilts.
Pour the whisked eggs over the cooked mushrooms and spinach in the skillet. Gently swirl the pan to ensure the eggs distribute evenly.
Cook the omelette for about 3-4 minutes, or until the edges begin to set. Carefully lift the edges with a spatula to allow uncooked egg to flow to the edges.
Once the eggs are nearly set but still slightly runny on top, sprinkle the shredded cheese over one half of the omelette.
Using a spatula, fold the other half of the omelette over the cheese, creating a half-moon shape. Allow it to cook for another minute to let the cheese melt.
Slide the omelette onto a plate and serve immediately, garnished with fresh herbs if desired.