Preheat your oven to 350°F (175°C). Generously grease a 9x13-inch baking dish with cooking spray or butter, ensuring all corners and sides are well coated to prevent sticking.
Heat a large skillet over medium heat. Add breakfast sausage and break it apart with a wooden spoon or spatula into bite-sized crumbles. Cook for 8-10 minutes, stirring occasionally, until fully browned with no pink remaining and fat has rendered out.
Add diced onion to the sausage during the last 3-4 minutes of cooking, allowing it to soften and become translucent. The onion should be tender but not mushy.
Drain excess grease from the sausage mixture by transferring to a colander lined with paper towels, or carefully tilt the pan to pour off fat. This prevents the casserole from becoming greasy.
If using frozen hash browns, ensure they're completely thawed. Squeeze out any excess moisture using paper towels or a clean kitchen towel. Spread hash browns in an even layer across the bottom of your prepared baking dish.
Scatter the cooked sausage and onion mixture evenly over the hash brown layer, distributing it throughout the dish to ensure every serving contains sausage.
Sprinkle 1½ cups of shredded cheddar cheese over the sausage layer, reserving the remaining ½ cup for topping later.
In a large mixing bowl, crack all 10 eggs and whisk vigorously for 30-45 seconds until completely combined and slightly frothy. This incorporates air creating a fluffier texture.
Add milk, salt, pepper, dry mustard, and garlic powder to the whisked eggs. Whisk again for 20-30 seconds until all seasonings are fully incorporated and the mixture is uniform in color.
Pour the egg custard mixture slowly and evenly over the entire casserole, ensuring it seeps into all layers and reaches the corners. The liquid should cover most of the ingredients.
Use a spatula to gently press down on the ingredients, helping the egg mixture penetrate all layers. This ensures even cooking and prevents dry spots.
Sprinkle the reserved ½ cup of cheese evenly across the top of the casserole. This creates a golden, bubbly crust during baking.
Cover the baking dish tightly with aluminum foil to trap moisture and prevent excessive browning during the initial baking phase.
Place covered casserole in the preheated oven and bake for 30 minutes. The eggs should begin setting around the edges during this time.
Remove the foil carefully (watch for hot steam) and continue baking uncovered for an additional 20-25 minutes until the edges are golden brown and the center is just set. The top should be bubbly and lightly browned.
Test for doneness by inserting a knife into the center of the casserole. It should come out clean with no liquid egg. The internal temperature should reach 160°F when measured with an instant-read thermometer.
Remove from oven and let the casserole rest for 10 minutes before serving. This allows the eggs to set completely and makes slicing much cleaner and easier.
Cut into 8-10 generous portions using a sharp knife. Serve hot, garnished with fresh herbs, green onions, sour cream, or salsa according to preference.