Prep the oven and dish: Preheat the oven to 350°F (175°C). Grease a 9x13-inch baking dish with cooking spray or butter.
Cook the sausage: In a large skillet over medium heat, cook the sausage, breaking it into crumbles, until browned and cooked through.
Transfer to a plate lined with a paper towel.
Sauté the veggies: In the same skillet, add olive oil or butter. Sauté onion and bell pepper with a pinch of salt until soft, about 5 minutes. Stir in spinach and cook until wilted, 1–2 minutes.
Remove from heat.
Dry the potatoes: If using frozen hash browns, make sure they’re thawed and patted dry. Excess moisture can make the casserole watery.
Whisk the eggs: In a large bowl, whisk eggs, milk, salt, pepper, garlic powder, and smoked paprika until smooth.
Layer the base: Spread potatoes evenly in the baking dish. Top with the cooked sausage and sautéed veggies.
Add cheese: Sprinkle about 1 cup of the shredded cheese over the sausage and veggies.
Pour and top: Pour the egg mixture evenly over everything.
Sprinkle the remaining 1/2 cup cheese on top. Add green onions if using.
Bake: Bake uncovered for 35–45 minutes, or until the center is set and the top is lightly golden. A knife inserted near the center should come out clean.
Rest and serve: Let the casserole rest for 10 minutes before slicing.
This helps it set and makes cleaner pieces.