Preheat oven to 400°F (200°C). Heat an ovenproof 10-inch skillet over medium heat.
Add bacon and cook until crisp. Remove bacon to a plate, leaving drippings.
Add olive oil and onion to skillet. Cook 3–4 minutes until soft.
Stir in hashbrowns and press into an even layer. Cook 5 minutes to brown the bottom.
Add spinach and cook until wilted. Sprinkle back the bacon and cheese over top.
Whisk eggs, milk, salt, and pepper. Pour gently over skillet mixture.
Transfer skillet to oven and bake 12–15 minutes until eggs are set and edges golden.
Let rest 5 minutes before slicing. Serve warm.