Preheat oven broiler.
In a large mixing bowl, whisk together eggs, milk, salt and pepper. Set aside
In a large oven-proof skillet, add oil and heat over medium heat. Add onion and saute for 3 to 5 minutes until translucent. Add spinach and stir to combine. Cover and wilt spinach. Remove cover and cook off any excess moisture that may have formed. Reduce heat to medium.
Pour eggs into hot pan with spinach and onion. Sprinkle crumbled bacon across the top. Stir to combine. Cook on stove top for 5 to 8 minutes. Push cooked egg into the center for the first minute or two. Cover and let cook without stirring, to allow the eggs to mostly set, center and top will still be moist and slightly jiggly.
Uncover and transfer skillet to preheated oven and broil for 7 to 8 minutes until eggs are completely cooked through. Sprinkle cheese across the top and broil 2 to 3 minutes or until bubbly and melted. Remove and serve hot. Serves 4 to 6.