Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 tablespoon unsalted butter, for greasing the baking dish
- 1 tablespoon olive oil
- 1 small yellow onion, finely diced
- 5 ounces baby spinach
- 6 cups day-old bread cubes, cut into 1-inch pieces
- 1 1/2 cups diced cooked ham
- 2 cups shredded Swiss cheese, divided
- 8 large eggs
- 1 1/2 cups whole milk
- 1/2 cup heavy cream
- 1 tablespoon Dijon mustard
- 1/2 teaspoon kosher salt
- 1/2 teaspoon black pepper
- 1/4 teaspoon garlic powder
- 1/8 teaspoon ground nutmeg
- 2 tablespoons chopped fresh parsley or chives, for serving
Do This
- 1. Heat the oven to 375°F and butter a 9-by-13-inch baking dish.
- 2. Sauté the onion in olive oil for 3 minutes, then add spinach and cook 2 minutes until wilted; squeeze out excess liquid.
- 3. Layer bread cubes, ham, spinach mixture, and 1 1/2 cups Swiss cheese in the prepared dish.
- 4. Whisk eggs, milk, cream, Dijon, salt, pepper, garlic powder, and nutmeg until smooth.
- 5. Pour the egg mixture evenly over the casserole and gently press the bread down to soak.
- 6. Top with the remaining 1/2 cup Swiss cheese and bake for 40 minutes, until puffed, golden, and set in the center.
- 7. Rest for 10 minutes, garnish with parsley or chives, slice, and serve warm.
Why You’ll Love This Recipe
- Reliable for guests: It bakes up sturdy, sliceable, and satisfying, making it perfect for holidays, brunches, and weekend breakfasts.
- Classic savory flavors: Salty ham, tender spinach, creamy eggs, and nutty Swiss cheese taste comforting without being complicated.
- Make-ahead friendly: Assemble it the night before, refrigerate, and bake in the morning.
- Beautiful centerpiece: The golden cheese top, green spinach, and rosy ham make every slice look inviting.
Grocery List
- Produce: 1 small yellow onion, 5 ounces baby spinach, fresh parsley or chives
- Dairy: 8 large eggs, whole milk, heavy cream, Swiss cheese, unsalted butter
- Meat: Diced cooked ham or a small ham steak to dice
- Bakery: Day-old rustic bread, sourdough, French bread, or sandwich bread
- Pantry: Olive oil, Dijon mustard, kosher salt, black pepper, garlic powder, ground nutmeg
Full Ingredients
For the Breakfast Bake
- 1 tablespoon unsalted butter, softened, for greasing a 9-by-13-inch baking dish
- 1 tablespoon olive oil
- 1 small yellow onion, finely diced, about 3/4 cup
- 5 ounces baby spinach, roughly chopped if leaves are large
- 6 cups day-old bread cubes, cut into 1-inch pieces, about 10 ounces
- 1 1/2 cups diced cooked ham, about 8 ounces
- 2 cups shredded Swiss cheese, about 8 ounces, divided
For the Egg Custard
- 8 large eggs
- 1 1/2 cups whole milk
- 1/2 cup heavy cream
- 1 tablespoon Dijon mustard
- 1/2 teaspoon kosher salt
- 1/2 teaspoon freshly ground black pepper
- 1/4 teaspoon garlic powder
- 1/8 teaspoon ground nutmeg
For Serving
- 2 tablespoons chopped fresh parsley or chives
- Additional black pepper, to taste

Step-by-Step Instructions
Step 1: Preheat the oven and prepare the baking dish
Preheat the oven to 375°F. Grease a 9-by-13-inch baking dish with 1 tablespoon softened unsalted butter, making sure to coat the bottom and corners well. This helps the casserole release cleanly and gives the edges a lightly buttery flavor.
Step 2: Sauté the onion and spinach
Warm 1 tablespoon olive oil in a large skillet over medium heat. Add the finely diced onion and cook for 3 minutes, stirring often, until softened and fragrant but not browned. Add the baby spinach and cook for 2 minutes, tossing frequently, until wilted.
Transfer the spinach mixture to a plate lined with paper towels or a clean kitchen towel. Let it cool for 2 minutes, then gently press or squeeze out excess moisture. This step keeps the breakfast bake creamy and set, rather than watery.
Step 3: Build the layers
Scatter the 6 cups bread cubes evenly in the prepared baking dish. Sprinkle the diced ham over the bread, followed by the sautéed spinach and onion mixture. Add 1 1/2 cups shredded Swiss cheese, distributing it evenly so every slice gets pockets of melted cheese.
For the best texture, use bread that is slightly dry or day-old. If your bread is very soft and fresh, spread the cubes on a sheet pan and toast them in the 375°F oven for 8 minutes, then let them cool for a few minutes before layering.
Step 4: Whisk the egg custard
In a large mixing bowl, whisk together the 8 large eggs until the yolks and whites are completely blended. Add the 1 1/2 cups whole milk, 1/2 cup heavy cream, 1 tablespoon Dijon mustard, 1/2 teaspoon kosher salt, 1/2 teaspoon black pepper, 1/4 teaspoon garlic powder, and 1/8 teaspoon ground nutmeg. Whisk for about 30 seconds, until smooth and evenly seasoned.
The Dijon mustard adds gentle tang, while the nutmeg brings out the flavor of the spinach and Swiss cheese. It will not make the casserole taste sweet; it simply gives the custard a warmer, fuller flavor.
Step 5: Pour, press, and top with cheese
Slowly pour the egg custard over the layered bread, ham, spinach, and cheese. Pour in a zigzag pattern so the liquid reaches the edges and corners of the dish. Using clean hands or the back of a spatula, gently press the bread cubes down into the custard for 20 to 30 seconds so they begin to absorb the liquid.
Sprinkle the remaining 1/2 cup shredded Swiss cheese over the top. Let the casserole stand at room temperature for 10 minutes before baking. This short rest helps the bread soak up the custard and gives the bake a more even, sliceable texture.
Step 6: Bake until puffed, golden, and set
Bake uncovered at 375°F for 40 minutes, until the top is golden, the edges are lightly browned, and the center is just set. To check doneness, gently shake the dish; the center should not slosh, though a slight jiggle is fine. If using an instant-read thermometer, the center should register 165°F.
If the top is browning too quickly before the center is done, loosely tent the dish with foil during the final 10 minutes of baking. Avoid pressing the foil directly onto the cheese so the topping stays attractive.
Step 7: Rest, garnish, and serve
Remove the breakfast bake from the oven and let it rest for 10 minutes. This rest allows the custard to finish setting and makes the casserole easier to slice. Sprinkle with 2 tablespoons chopped fresh parsley or chives and a little additional black pepper, if desired.
Cut into 8 portions and serve warm. It pairs beautifully with fresh fruit, roasted breakfast potatoes, a simple green salad, or toasted English muffins.
Pro Tips
- Squeeze the spinach well: Spinach releases a lot of water. Removing that moisture is the key to a creamy, fully set casserole.
- Use freshly shredded Swiss cheese: It melts more smoothly than pre-shredded cheese and gives the top a better golden finish.
- Choose sturdy bread: Sourdough, French bread, country bread, brioche, or challah all work well. Very soft sandwich bread can become mushy unless lightly toasted first.
- Dice the ham evenly: Pieces around 1/2 inch give you ham in every bite without making the layers bulky.
- Let it rest before slicing: Ten minutes makes a noticeable difference in clean, attractive slices.
Variations
- Mushroom Swiss Breakfast Bake: Add 8 ounces sliced mushrooms to the skillet after the onion and cook for 6 to 7 minutes until browned before adding the spinach.
- Turkey and Spinach Bake: Replace the ham with 1 1/2 cups diced cooked turkey and add 1/4 teaspoon smoked paprika to the egg custard for extra savory depth.
- Extra Green Version: Add 1/2 cup thinly sliced scallions and use chopped chives as the garnish for a brighter, spring-style casserole.
Storage & Make-Ahead
To make ahead: Assemble the casserole through the cheese topping step, cover tightly, and refrigerate for up to 12 hours. When ready to bake, let it sit at room temperature while the oven preheats for 20 minutes. Bake at 375°F, adding 5 to 10 minutes to the baking time if the dish is still very cold.
To store leftovers: Cool completely, cover, and refrigerate for up to 4 days. Reheat individual slices in the microwave for 60 to 90 seconds, or reheat covered in a 325°F oven for 15 to 20 minutes.
To freeze: Wrap cooled slices tightly and freeze for up to 2 months. Thaw overnight in the refrigerator before reheating. The texture is best when reheated gently, covered, in a 325°F oven until warmed through.
Nutrition (per serving)
Calories: 425 kcal | Carbs: 24g | Protein: 26g | Fat: 25g | Saturated Fat: 12g | Fiber: 2g | Sugar: 4g | Sodium: 820mg | Cholesterol: 250mg
