Saute onions and mushrooms over medium heat until onions are translucent and mushrooms are soft (about 5 minutes). Add spinach and combine until wilted. Put ingredients in a bowl and set aside.
While onions and mushrooms are cooking, whisk eggs in a medium bowl. Salt and pepper to taste.
Heat nonstick pan on medium high heat until hot. Add butter, and swirl to coat pan. Once butter is hot, add eggs to pan (you should hear a sizzle). Coat pan with eggs and cook eggs one to two minutes using a spatula to pull cooked eggs and tilt the pan to cover empty spaces with non cooked eggs. Once bottom of the omelet is set, pour cooked ingredients into middle and sprinkle with cheese. Fold omelet over and let it cook about 10 more seconds. Slide onto plate and enjoy!