In a Dutch oven on the stove top over medium-high heat, heat the olive oil. Add the mushrooms and cook for 3 minutes, until they start to soften. Add the ham and spinach. Cook for another few minutes, until the spinach is wilted.
In a large bowl, beat together the eggs and water. Mix in the salt, pepper, and cheese.
Pour the egg mixture into the pot and cook, scraping the sides with a silicone spatula. When the eggs have started to cook, turn the heat down to low an cook for about 5 minutes, or until the eggs start to set.
Transfer the pot to the oven. Bake for 8 to 10 minutes, uncovered, until the frittata is golden and puffy.
Remove from the oven and let cool for 5 minutes with the lid on, to prevent sticking.
Loosen the edges with a spatula, cut into wedges, and serve.