Preheat the oven to 180 °C (350 °F), and place the rack in the middle position.
Butter an 8-10 inches cast iron skillet or a baking dish. Set aside.
Combine eggs and milk in a large bowl and with a whisk mix carefully.
Add the grated cheese. Season with salt and pepper. Place the bowl aside.
Cut and cook the bacon and set aside.
Brown the onions, the garlic and the mushrooms in the fat from the bacon over medium heat. Set aside.
Into the same skillet cook the spinach until there is no more water at the bottom of the skillet. After the spinach is cooked, mix them with the bacon, the onions, and the mushrooms.
Pour the mushroom mixture into the egg mixture. Mix well, and pour into a baking dish or the cast iron skillet. Bake the frittata for about 25 minutes or until lightly browned and puffed. This mushroom spinach frittata is perfect with a green salad or even with a Rösti!