Preheat your oven to 350 degrees Fahrenheit and prepare a 9 x 13 baking dish by lightly spraying it with nonstick cooking spray. Set the pan aside.
Whisk together the eggs, half-and-half, and salt in a large bowl until the egg mixture is one beautifully blended color. Set aside.
Line the bottom of the prepared baking dish with a layer of the (uncooked) hash browns.
Pour the egg mixture over the layer of potatoes. Sprinkle the top of the eggs with ham (or sausage), bell peppers, and onion.
Bake the casserole for 30 – 45 minutes. Once it has baked for 30 minutes, check the casserole. You want to bake it until the eggs have set. If the eggs are still runny or jiggly, continue to bake for an additional 10-15 minutes and then re-check.
Once the eggs have set, layer the cheese on top and set the oven to BROIL on LOW. Keep an eye on it and broil until the cheese melts. Once it is bubbly, remove the casserole from the oven and let it cool for 5 minutes before serving.