Place an oven rack on the center or upper-middle shelf, then preheat oven to 400 degrees F.
Heat the olive oil in a 12-inch oven-safe nonstick or cast iron skillet over medium-high heat. Use just enough oil to coat bottom of the pan; you might not need the entire amount. Add the mushrooms and cook until soft and fragrant, 3-4 minutes. Adjust the heat to medium-low and add the garlic, stirring for an additional 30-60 seconds. Add the spinach in batches, stirring as it wilts. Once all of the spinach has been wilted, remove the pan from the heat.
In a large bowl, beat the egg whites to a stiff peak using an electric hand mixer or stand mixer with the whisk attachment. In a separate large bowl, whisk together the yolks, then add the half-and-half, 1 1/2 cups cheese, salt and pepper.
Gently fold the whites into the yolks using a spatula. Once evenly combined, pour the egg mixture over the vegetables. Sprinkle the remaining cheese evenly over the top.
Bake for 10-13 minutes, or until the eggs have fluffed up and set with a golden top. Cut the frittata into wedges and serve.
The frittata is best served fresh, but leftovers can be refrigerated in an airtight container for up to 5 days. Microwave to reheat for a quick breakfast, lunch, or dinner.