Quick Recipe Version (TL;DR)
Quick Ingredients
- 12 ounces day-old crusty bread, cut into 1-inch cubes, about 9 cups
- 1 tablespoon unsalted butter, for greasing the dish
- 1 tablespoon olive oil
- 12 ounces breakfast sausage, or 12 ounces chopped cremini mushrooms for a vegetarian version
- 1 small yellow onion, diced
- 1 red bell pepper, diced
- 3 cups baby spinach, roughly chopped
- 2 garlic cloves, minced
- 8 large eggs
- 2 cups whole milk
- 1 cup heavy cream
- 2 teaspoons Dijon mustard
- 1 teaspoon kosher salt, 1/2 teaspoon black pepper, 1 teaspoon fresh thyme, 1/2 teaspoon smoked paprika, and 1/4 teaspoon ground nutmeg
- 1 1/2 cups shredded sharp cheddar cheese
- 1/2 cup shredded Gruyère or Monterey Jack cheese
- 1/4 cup grated Parmesan cheese
- 2 tablespoons chopped fresh parsley, plus more for serving
Do This
- 1. Heat the oven to 300 degrees F, toast the bread cubes for 10 minutes, then raise the oven to 350 degrees F.
- 2. Grease a 9-by-13-inch baking dish with 1 tablespoon butter.
- 3. Brown the sausage in olive oil, then cook the onion, bell pepper, spinach, and garlic until tender.
- 4. Whisk eggs, milk, cream, Dijon, salt, pepper, thyme, smoked paprika, and nutmeg.
- 5. Layer bread, sausage mixture, cheddar, Gruyère, and parsley in the baking dish.
- 6. Pour custard evenly over the top, press the bread down gently, and let stand for 15 minutes.
- 7. Top with Parmesan, bake covered for 30 minutes, uncover and bake 15 to 20 minutes more, then rest 10 minutes before serving.
Why You’ll Love This Recipe
- Comforting and hearty: Tender bread cubes soak up a savory egg custard, then bake into a golden, cheesy brunch centerpiece.
- Great for make-ahead mornings: Assemble it the night before, refrigerate, and bake when everyone is ready to eat.
- Flexible filling: Use breakfast sausage for a classic version, or swap in mushrooms and extra vegetables for a satisfying vegetarian dish.
- Perfect for a crowd: One 9-by-13-inch pan serves 8 generously and looks beautiful right from the oven.
Grocery List
- Produce: 1 small yellow onion, 1 red bell pepper, 3 cups baby spinach, 2 garlic cloves, fresh parsley, fresh thyme, and optional fresh chives for garnish
- Dairy: Unsalted butter, 8 large eggs, whole milk, heavy cream, sharp cheddar cheese, Gruyère or Monterey Jack cheese, and Parmesan cheese
- Meat or Vegetarian Protein: 12 ounces mild or hot breakfast sausage, or 12 ounces cremini mushrooms for a vegetarian version
- Bakery: 12 ounces day-old crusty bread, such as sourdough, French bread, Italian bread, or challah
- Pantry: Olive oil, Dijon mustard, kosher salt, black pepper, smoked paprika, and ground nutmeg
Full Ingredients
For the Bread and Filling
- 1 tablespoon unsalted butter, softened, for greasing a 9-by-13-inch baking dish
- 12 ounces day-old crusty bread, such as sourdough, French bread, Italian bread, or challah, cut into 1-inch cubes, about 9 cups
- 1 tablespoon olive oil
- 12 ounces mild or hot breakfast sausage, casings removed if using links or 12 ounces cremini mushrooms, chopped, plus 1 tablespoon extra olive oil for a vegetarian version
- 1 small yellow onion, diced, about 1 cup
- 1 red bell pepper, diced, about 1 cup
- 3 cups baby spinach, roughly chopped, about 3 ounces
- 2 garlic cloves, minced
- 2 tablespoons chopped fresh parsley
For the Savory Egg Custard
- 8 large eggs
- 2 cups whole milk
- 1 cup heavy cream
- 2 teaspoons Dijon mustard
- 1 teaspoon kosher salt
- 1/2 teaspoon freshly ground black pepper
- 1 teaspoon chopped fresh thyme leaves, or 1/2 teaspoon dried thyme
- 1/2 teaspoon smoked paprika
- 1/4 teaspoon ground nutmeg
For the Cheese and Topping
- 1 1/2 cups shredded sharp cheddar cheese, about 6 ounces
- 1/2 cup shredded Gruyère or Monterey Jack cheese, about 2 ounces
- 1/4 cup finely grated Parmesan cheese, about 1 ounce
- 1 tablespoon chopped fresh chives or parsley, for serving, optional

Step-by-Step Instructions
Step 1: Dry the bread and prepare the pan
Heat the oven to 300 degrees F. Spread the bread cubes on a large rimmed baking sheet in an even layer and toast for 10 minutes, stirring once halfway through. The bread should feel dry on the edges but should not brown deeply. This helps it soak up the custard without turning mushy.
Remove the bread from the oven and increase the oven temperature to 350 degrees F. Grease a 9-by-13-inch baking dish with the softened butter, making sure to coat the corners and sides well.
Step 2: Brown the sausage and cook the vegetables
Heat the olive oil in a large skillet over medium-high heat. Add the breakfast sausage and cook for 6 to 8 minutes, breaking it into small crumbles with a wooden spoon, until browned and cooked through. Use a slotted spoon to transfer the sausage to a plate, leaving about 1 tablespoon of drippings in the skillet.
Add the diced onion and red bell pepper to the skillet. Cook for 4 to 5 minutes, stirring occasionally, until the onion softens and the pepper begins to look glossy. Add the spinach and garlic, then cook for 1 to 2 minutes, just until the spinach wilts and the garlic smells fragrant. Remove the skillet from the heat.
For a vegetarian version: Skip the sausage. Heat 2 tablespoons olive oil total in the skillet, add the chopped cremini mushrooms, and cook for 8 to 10 minutes until browned and their moisture has evaporated. Then add the onion, bell pepper, spinach, and garlic as directed.
Step 3: Whisk the savory custard
In a large mixing bowl, whisk the eggs until the yolks and whites are fully combined. Add the whole milk, heavy cream, Dijon mustard, kosher salt, black pepper, thyme, smoked paprika, and nutmeg. Whisk until smooth and evenly seasoned.
The Dijon and smoked paprika give the custard a gentle savory depth, while the nutmeg adds warmth without making the dish taste sweet. Make sure the eggs are well blended so the bread pudding bakes up tender and even.
Step 4: Layer the bread pudding
Place half of the toasted bread cubes in the prepared baking dish. Scatter half of the sausage and vegetable mixture over the bread, then sprinkle with half of the cheddar, half of the Gruyère or Monterey Jack, and 1 tablespoon of the parsley.
Add the remaining bread cubes, followed by the remaining sausage mixture, remaining cheddar, remaining Gruyère or Monterey Jack, and the remaining 1 tablespoon parsley. Layering helps every scoop get a good balance of custardy bread, browned sausage, vegetables, and melted cheese.
Step 5: Add the custard and let it soak
Pour the egg custard slowly and evenly over the bread mixture. Use the back of a spoon or clean hands to gently press the bread down so the top cubes begin to absorb the custard. Let the assembled bread pudding stand at room temperature for 15 minutes.
During this short rest, the dry bread softens and soaks up the seasoned custard. If a few bread tips remain above the liquid, that is perfect; they will become golden and crisp in the oven.
Step 6: Bake covered until the center begins to set
Sprinkle the Parmesan cheese evenly over the top. Cover the baking dish tightly with aluminum foil and bake at 350 degrees F for 30 minutes. Covering the dish at the beginning traps steam, allowing the custard to cook gently before the top browns.
Step 7: Uncover and brown the top
Carefully remove the foil and continue baking for 15 to 20 minutes, until the top is golden, the edges are bubbling, and the center is set. The bread pudding is done when a knife inserted into the center comes out mostly clean and the internal temperature reaches 165 degrees F.
If the top browns too quickly before the center sets, loosely tent the dish with foil for the last few minutes of baking.
Step 8: Rest, garnish, and serve
Let the savory breakfast bread pudding rest for 10 minutes before slicing or scooping. This gives the custard time to settle, making it easier to serve neat portions. Sprinkle with chopped chives or extra parsley just before serving.
Serve warm with fresh fruit, a simple green salad, roasted tomatoes, or a bright citrus salad for a complete brunch spread.
Pro Tips
- Use dry bread: Day-old bread works best. If your bread is fresh, do not skip the 10-minute oven-drying step.
- Shred your own cheese: Freshly shredded cheese melts more smoothly than pre-shredded cheese, which often contains anti-caking starches.
- Do not rush the soak: The 15-minute rest helps the custard absorb evenly and prevents dry patches.
- Check the center: The edges may look done before the middle is ready. For the best texture, bake until the center reaches 165 degrees F.
- Balance richness with freshness: A final sprinkle of parsley or chives brightens the creamy, cheesy filling.
Variations
- Vegetable breakfast bread pudding: Replace the sausage with 12 ounces chopped cremini mushrooms cooked in 2 tablespoons olive oil total. Add 1 cup chopped zucchini or asparagus with the bell pepper if you like.
- Spicy sausage version: Use hot breakfast sausage, add 1/4 teaspoon crushed red pepper flakes to the custard, and swap the cheddar for pepper Jack cheese.
- Herby spring version: Use Gruyère, Monterey Jack, or fontina, and add 2 tablespoons mixed fresh herbs such as dill, chives, parsley, and thyme.
Storage & Make-Ahead
Make-ahead: Assemble the bread pudding through the soaking step, cover tightly, and refrigerate for up to 12 hours. Before baking, let it sit at room temperature for 30 minutes while the oven heats. Bake as directed, adding 5 to 10 minutes to the covered baking time if the dish is still very cold. Storage: Refrigerate leftovers in an airtight container for up to 4 days. Reheat individual portions in the microwave in 30-second bursts, or reheat covered in a 325 degrees F oven for 15 to 20 minutes. Freezing: Freeze baked and cooled portions for up to 2 months. Thaw overnight in the refrigerator before reheating.
Nutrition (per serving)
Calories: 625 kcal | Carbs: 31g | Protein: 27g | Fat: 43g | Saturated Fat: 20g | Fiber: 2g | Sugar: 6g | Sodium: 1050mg | Cholesterol: 295mg
