Savory Bread Pudding Recipe with Caramelized Onions and Gruyere

A great savory bread pudding has a golden, crisp top and a soft, custardy interior. Made with simple ingredients and less than 30 minutes of active time, this dish is perfect for brunch, a cozy weeknight dinner, or using up stale bread and leftover cheese. This version—sourdough, Gruyère, mushrooms, and spinach—strikes a lovely balance of nutty, earthy, and savory flavors.

A slice of savory bread pudding with spinach, cheese, and mushrooms sits on a white plate with a vintage fork. A glass of water and more casserole are in the background.

I began making this bread pudding when a stale loaf of sourdough was sitting on my counter. Toasting the bread first is a small but important step: it firms the cubes so they soak up the custard without breaking down, leaving a tender interior and a pleasingly crisp surface. Once you toast the cubes, assemble the filling, let it rest so the custard soaks in evenly, then bake until deeply browned on top and custardy beneath.

This recipe is forgiving and adaptable—swap cheeses or vegetables, add cooked meat, or use whatever sturdy loaf you have on hand. The version below is my favorite combination: crusty sourdough, melted Gruyère, sautéed mushrooms, wilted spinach, and a touch of thyme. It reheats well and is easy to make ahead, making it a reliable, crowd-pleasing main.

Table of Contents

  • Why This Recipe Works
  • Ingredients for Savory Bread Pudding
  • How to Make Savory Bread Pudding
  • Pro Tips
  • Recipe Variations
  • FAQ
  • Making-Ahead, Storage and Reheating
  • Make it a Meal
  • Savory Bread Pudding with Spinach and Mushrooms Recipe

Why This Recipe Works

  • Toasting the bread: Drying and toasting the cubes prevents them from turning to mush while allowing them to absorb the custard for a tender center.
  • Balanced dairy: A mix of whole milk and half-and-half creates a rich but not overwhelming custard that sets to a smooth texture.
  • Rest time: Refrigerating the assembled dish for at least an hour lets the custard soak evenly into the bread, producing consistent texture and easier slicing.
  • Cook the vegetables first: Sautéing onions, mushrooms, and garlic removes excess moisture and intensifies flavor; adding spinach at the end keeps its color and bright taste.

Ingredients for Savory Bread Pudding

A top-down view of ingredients for a savory bread pudding recipe, including Gruyere cheese, olive oil, black pepper, thyme, garlic, sea salt, mushrooms, onion, milk, eggs, butter, baby spinach, half & half, and cubed sourdough bread.
  • Bread: 12 oz crusty sourdough, cut into 1-inch cubes. Any sturdy loaf (French bread, peasant loaf) works; avoid very soft sandwich bread.
  • Eggs: 8 large eggs to form the custard base.
  • Milk and cream: 2 cups whole milk plus 1 cup half-and-half (or heavy cream for a richer pudding).
  • Cheese: 8 oz Gruyère, shredded (about 2 packed cups). Fontina, white cheddar, or mozzarella are suitable alternatives; add a little Parmesan for sharper flavor if desired.
  • Aromatics and fat: 2 tablespoons butter and 2 tablespoons extra-virgin olive oil, 1 large yellow onion (thinly sliced), and 2 cloves garlic.
  • Mushrooms and spinach: 8 oz button mushrooms (coarsely chopped) and 10 oz baby spinach. Swap cremini mushrooms or baby kale as preferred.
  • Herbs and seasoning: 1 tablespoon fresh thyme (or 1 teaspoon dried), 1 1/4 teaspoons fine sea salt (divided), and 1 teaspoon freshly ground black pepper (divided).
A rectangular baking dish with a savory bread pudding, topped with greens and herbs. A serving spatula rests in the dish, some pieces are missing. Nearby are a plate, fork, glasses, and a small bowl of salt.

How to Make Savory Bread Pudding

Prep the bread: Cut the loaf into 1-inch cubes and spread them on a rimmed baking sheet. Toast in a preheated oven for 5–7 minutes, just until the edges dry and begin to brown. Let cool.

A baking tray lined with parchment paper holds evenly spread cubes of sliced bread, ready for toasting or baking.
Cubed pieces of toasted bread are spread out on a parchment-lined baking sheet, ready to be used as croutons.

Make the custard: Whisk 8 eggs until smooth. Add 2 cups whole milk, 1 cup half-and-half (or cream), 3/4 teaspoon of the salt, and 1/2 teaspoon of pepper. Whisk until combined and set aside.

A glass bowl containing seven raw eggs with unbroken yolks, placed on a light-colored surface.
A whisk rests in a glass bowl filled with a mixture of eggs and milk, sitting on a light-colored countertop.
A hand holding a metal whisk is mixing a thick, creamy batter in a clear glass bowl on a light-colored surface.

Cook the vegetables: In a wide skillet, heat 2 tablespoons butter and 2 tablespoons olive oil over medium-high heat. Add the sliced onion with a pinch of salt and cook about 5 minutes until softened. Stir in the chopped mushrooms, minced garlic, thyme, the remaining 1/4 teaspoon salt, and remaining 1/2 teaspoon pepper. Cook 4–5 minutes until the mushrooms release moisture and begin to brown. Add the spinach in batches, stirring until just wilted. Remove from heat and let cool slightly for a few minutes.

Sliced onions in a large pot with melted butter, being stirred with a wooden spoon. A hand holds a small bowl of salt over the pot, ready to season the onions.
A large pot contains sliced onions, chopped mushrooms, minced garlic, chopped herbs, black pepper, and oil or butter, with a wooden spoon resting inside. The ingredients are ready to be cooked.
A large pot filled with sautéed mushrooms and onions, being stirred with a wooden spoon on a light countertop.
A large pot with sautéed mushrooms and onions on one side, and fresh spinach leaves piled on the other, with a wooden spoon resting inside. The pot sits on a light-colored countertop.
A large pan filled with sautéed spinach and chopped mushrooms, mixed together and stirred with a wooden spoon on a light-colored surface.

Assemble and rest: In a buttered 9×13-inch (3-quart) baking dish, combine the toasted bread cubes, the cooled vegetable mixture, and 8 oz shredded Gruyère. Spread evenly, pour the custard over the top, and press down so the bread soaks up the liquid. Cover tightly with foil and refrigerate for at least 1 hour or up to overnight for best texture.

A baking dish filled with sautéed spinach, mushrooms, onions, and cubes of toasted bread, arranged evenly and ready to be baked.
A rectangular metal baking dish filled with a mixture of sautéed spinach, mushrooms, bread cubes, and topped with a generous layer of shredded cheese, ready to be baked.

Bake, rest, and serve: Preheat oven to 350°F. Bake covered for 35 minutes (or 40 minutes if chilled overnight), then remove the foil and bake 20–25 minutes more until puffed and deeply golden. A knife inserted in the center should come out mostly clean. Let the dish rest 10–15 minutes to allow the custard to set, then cut into squares and serve warm.

A baked bread pudding in a rectangular metal pan, featuring golden bread cubes, wilted greens, and a creamy mixture on a light countertop.
A slice of savory bread pudding with spinach, cheese, and mushrooms sits on a white decorative plate, accompanied by a fork. The dish features golden, toasted bread cubes and leafy greens.

Pro Tips

  • Cool the vegetables first: Let the sautéed filling cool a few minutes before adding so it doesn’t melt the cheese or start cooking the eggs prematurely.
  • Ensure the custard soaks in: Press gently on the bread after pouring the custard so each cube absorbs liquid. If a few areas look dry, drizzle a little extra milk there.
  • Know when it’s done: The pudding should be puffed, set, and golden. A knife inserted into the center should be mostly clean and the internal temperature about 175 °F (80 °C).
  • Let it rest: A short rest makes slicing neater because the custard firms up as it cools slightly.

Recipe Variations

  • Add protein: Stir in 8–10 ounces of cooked, crumbled sausage or shredded roasted chicken with the cooled vegetables.
  • Swap the vegetables: Replace mushrooms and spinach with 1 cup diced leeks and 1/2 cup chopped sun-dried tomatoes for a different flavor profile.
  • Make it spicy: Add red pepper flakes when sautéing the onions or use Pepper Jack in place of half the Gruyère.

FAQ

What’s the difference between a strata and a savory bread pudding?

A strata is usually assembled and baked immediately; a bread pudding benefits from a resting period that lets the custard soak in, producing a creamier center and crisper top.

What bread works best?

Sturdy, crusty loaves—sourdough, French bread, or rustic peasant loaves—hold up best to the custard and provide texture contrast.

How do I prevent sogginess?

Toast the bread, avoid too much liquid, and chill the assembled dish for at least an hour before baking so the custard soaks in evenly.

Can I make it the night before?

Yes. Assembling and chilling overnight often improves the texture. Add a few extra minutes to the covered bake time if it’s very cold from the fridge.

Making-Ahead, Storage and Reheating

This dish is ideal for making ahead. Cover the assembled casserole and refrigerate for up to 24 hours. After baking, cool completely, then wrap and refrigerate for up to three days, or freeze for up to three months. To reheat, thaw overnight if frozen, then warm individual portions in a 350°F oven, lightly covered with foil, for about 12 minutes to revive the crisp edges.

Make it a Meal

  • Serve with a bright green salad dressed with a sharp vinaigrette to cut through the richness.
  • Roasted asparagus or lemony green vegetables make a light, complementary side.
  • Finish the meal with a simple fruit-based dessert for a balanced menu.

Savory Bread Pudding with Spinach and Mushrooms

By: Marissa Stevens
Prep: 25 mins
Cook: 1 hr 10 mins
Total: 1 hr 35 mins
Course: Breakfast, Main Course
Cuisine: American
Calories: 357
A slice of savory bread pudding with spinach, cheese, and herbs sits on a decorative white plate next to a fork. The bread cubes are golden and toasted, and the dish is served on a rustic green table.
A reliable, make-ahead savory bread pudding that transforms stale sourdough and simple pantry ingredients into a custardy, flavorful main course. Assemble the night before for the best texture.

Ingredients

  • 12 oz crusty sourdough bread, cut into 1-inch cubes
  • 8 large eggs
  • 2 cups whole milk
  • 1 cup half-and-half (or heavy cream)
  • 2 tablespoons butter
  • 2 tablespoons extra virgin olive oil
  • 1 large yellow onion, quartered and thinly sliced (about 2 cups)
  • 8 oz button mushrooms, coarsely chopped
  • 2 cloves garlic, minced
  • 1 tablespoon fresh thyme, or 1 teaspoon dried
  • 10 oz baby spinach
  • 1 1/4 teaspoons fine sea salt, divided (plus a pinch for the onions)
  • 1 teaspoon freshly ground black pepper, divided
  • 8 oz Gruyère cheese, shredded (about 2 packed cups)

Instructions

  1. Prep the dish: Butter a 9 × 13-inch (3-quart) baking dish or spray with cooking spray.
  2. Toast the bread: Spread the bread cubes in a single layer on a rimmed baking sheet and toast 5–7 minutes, until dry and beginning to brown. Remove and cool.
  3. Make the custard: In a large bowl, whisk the eggs. Add the milk, half-and-half, 3/4 teaspoon salt, and 1/2 teaspoon pepper; whisk to combine and set aside.
  4. Sauté the filling: Heat the butter and oil in a wide, high-sided skillet over medium-high heat. Add the onion with a pinch of salt and cook 5 minutes. Add mushrooms, garlic, thyme, remaining 1/4 teaspoon salt, and remaining 1/2 teaspoon pepper; cook 4–5 minutes until the mushrooms release moisture and brown. Add the spinach in handfuls, stirring until wilted, about 3 minutes total. Remove from heat and cool 5 minutes.
  5. Assemble and chill: Transfer toasted bread to the prepared dish. Add the slightly cooled vegetable mixture and shredded Gruyère; stir to combine and spread evenly. Pour the custard over the bread, pressing down so everything is soaked. Cover tightly and refrigerate at least 1 hour or up to overnight.
  6. Bake: Preheat oven to 350°F. Bake covered for 35 minutes (40 minutes if chilled overnight). Remove foil and bake 20–25 minutes more until puffed and golden and a knife inserted in the center comes out mostly clean (about 175°F internal).
  7. Rest and serve: Let stand 10–15 minutes to set, then cut into squares and serve warm.

Notes

  • Make-ahead: The total time does not include an optional overnight chill, which improves texture. Aim for at least one hour of soak time.
  • Leftovers: Cool completely, cover, and refrigerate up to 3 days. Reheat individual squares in a 350°F oven, lightly covered, for about 12 minutes to restore crisp edges.

Nutrition

Calories: 357 kcal per serving (approximate). Carbohydrates: 25 g | Protein: 18 g | Fat: 21 g.

Nutrition information is automatically calculated and should be used as an approximation.