In a large bowl whisk together the eggs, milk, parmesan, salt, and pepper, and set aside.
Add oil to an oven safe skillet and heat over medium. Once shimmering, add the onion and sauté until translucent, about 4-5 minutes. Add the spinach in batches, and use tongs to fold as the spinach releases its liquid. Continue to add more spinach to the pan.
Once all the spinach is cooked, spread the veggies in an even layer along the bottom of your pan. Pour the egg combo over the veggies. Use a spatula to lift the veggies along the bottom and sides of the pan, allowing eggs to run below them.
Reduce the heat of your pan to low, and place a lid on top. Continue to cook for 11-14 minutes, or until the frittata has set around the edges, the very center should still jiggle slightly.
Turn your oven broiler on, and set the top rack so that it's 10" from the bottom of your broiler. Broil the frittata until the center is set and the top is golden, about 3-4 minutes.