clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
breakfast egg casserole with peppers, spinach, mushrooms, and cheese.

Easy Make-Ahead Breakfast Casserole

  • Author: Sally
  • Prep Time: 20 minutes
  • Cook Time: 45 minutes
  • Total Time: 1 hour, 30 minutes
  • Yield: serves 12
  • Category: Breakfast
  • Method: Cooking
  • Cuisine: American


This easy breakfast casserole is infinitely adaptable and you can find variations and suggestions in the recipe Notes below. The version written below with sausage, mushrooms, bell peppers, spinach, and cheddar cheese is generally the most popular with guests. You can assemble the entire dish and refrigerate for up to 24 hours before baking.


  • 4 cups (175g or 6 oz) cubes of crusty bread*
  • 1 teaspoon olive oil
  • 1 pound ground pork sausage, casings removed*
  • 1 teaspoon dried rosemary or Italian seasoning, optional
  • 3/4 cup (100g) chopped yellow onion (1/2 of a large onion)
  • 2 garlic cloves, minced
  • 2 cups (275g or 910 oz) chopped bell peppers
  • 1 cup (100g or 3 oz) sliced mushrooms
  • 1 cup roughly chopped fresh spinach
  • 12 large eggs
  • 1/4 teaspoon salt
  • 1/8 teaspoon freshly ground black pepper
  • 2/3 cup (160ml) milk or half-and-half*
  • 1 cup (100g or 3.5 oz.) shredded cheddar cheese
  • optional garnish: green onion and/or chopped parsley


  1. Grease a 9×13-inch or any 3–4-quart oven-safe dish. Arrange bread cubes in an even layer in bottom of pan.
  2. Heat olive oil in a large skillet over medium heat. Add sausage and rosemary/Italian seasoning, if using, and break up the sausage into bite-size pieces with a wooden spoon or rubber spatula as it begins to cook. Add the onion, garlic, peppers, mushrooms, and spinach and cook until everything has slightly softened and sausage is mostly cooked through, about 5–6 minutes.
  3. Remove sausage and vegetable mixture from heat and spread in an even layer on top of bread.
  4. Whisk the eggs, salt, pepper, milk, and cheese together. Evenly pour over sausage/vegetable mixture. Add another sprinkle of salt and pepper on top.
  5. Cover casserole with plastic wrap or aluminum foil and refrigerate for at least 30 minutes and up to 24 hours. (When ready to bake, allow to sit at room temperature for 10–15 minutes as oven preheats.)
  6. Preheat the oven to 375°F (191°C). Bake the casserole, uncovered, until the top is golden, edges are crisp, and a toothpick inserted in the center comes out clean, about 40–45 minutes.
  7. Cool for 10 minutes, then slice and serve.
  8. Leftovers keep well in the refrigerator for up to 5 days. Reheat in the microwave to your liking.


  1. Make Ahead Instructions: This is an excellent make-ahead recipe because you can assemble it before baking up to 24 hours in advance. See step 5. You can also cook the sausage and vegetable mixture up to 24 hours in advance, cover and refrigerate until ready to use.
  2. Freezing & Reheating Instructions: To freeze, prepare and assemble through step 5, cover with plastic wrap, then a layer of aluminum foil, and freeze for up to 3 months. Thaw overnight in the refrigerator, and then bring to room temperature before baking as directed. You can also freeze the baked casserole for up to 3 months and when doing that, I suggest baking it in a disposable aluminum pan. Cool completely, cover with plastic wrap, then a layer of aluminum foil. When ready to eat, thaw it for about 24 hours (covered) in the refrigerator, remove the plastic wrap layer, then bake in a 350°F (177°C) oven for 25–30 minutes.
  3. Special Tools (affiliate links): 9×13-inch Baking Dish or any 3–4-quart Oven-Safe Dish | Glass Mixing Bowls | Whisk
  4. Bread: Crusty sourdough is fantastic in this recipe, or use any crusty, hearty bread. The crustier or more stale, the better. If your bread is fresh and/or flimsy, cut into cubes and bake on a baking sheet in a 300°F (149°C) oven for 10 minutes. It’ll be slightly crisp and ready to use in this recipe. No need to wait for the bread to cool before layering into the baking dish.
  5. Using Potatoes Instead of Bread: You can replace the bread with diced hash brown potatoes—the kind you find in the freezer section of the grocery store. Use about 3 cups (around 380g) of frozen hash brown potatoes, no need to thaw. You could also peel and dice fresh potatoes, but you’ll need to quickly cook/brown them on a skillet with 1 Tablespoon olive oil over medium heat for 10 minutes before using.
  6. Sausage or Other Meat: If using pre-cooked sausage links or ham, cut into slices/chunks, and there is no need to cook either. Simply stir into the pre-cooked vegetables before layering into the dish. You can replace the sausage with ground turkey, beef, or chicken—simply pre-cook with the vegetables according to the instructions. If using bacon, I recommend reducing to 1/2 pound and cutting into bite-size pieces. Cook separately from the vegetables until browned. Drain, then mix with the vegetables before layering into the dish.
  7. Other Vegetables: Feel free to replace all or some of the bell peppers, mushrooms, and spinach with other vegetables such as chopped broccoli, sliced zucchini or squash, or kale. Pre-cook as directed.
  8. Vegetarian Option: You can leave out the meat and replace with another 1 cup of vegetables.
  9. Milk: For the richest, heartiest texture, I recommend half-and-half or whole milk. You can use lower-fat milk or dairy-free milk if desired.
  10. Cheese: I usually use a blend of regular and sharp white cheddar cheeses. Use whatever cheeses you like best, such as pepper jack, feta cheese, Swiss, and/or smoked gouda.
  11. Half Recipe: You can halve this recipe by halving all of the ingredients and using a 9×9-inch square pan. Bake time is slightly shorter, about 32–36 minutes.

Keywords: breakfast casserole, overnight breakfast casserole