Preheat oven to 350 degrees. Heat butter in a large ovenproof skillet over medium heat. Stir in mushrooms, cook until mushrooms begin to brown, 8 - 10 minutes. Stir spinach into mushroom mixture, cover, cook until spinach is wilted. About 5 minutes.
Stir in ham, cook until ham begins to brown. About 5 minutes. Pour eggs evenly into the skillet and cover.
Bake in the preheated oven until the frittata is set in the middle and lightly puffed, about 25 minutes.
A kinfe inserted into the center of the frittata should come out clean.