Creamy Pasta Bake Brunch Bake is a baked penne casserole with crispy bacon, spinach, and a creamy cheese sauce, finished with eggs baked right on top.
It tastes like a mash-up of a cozy pasta bake and a brunch plate, with salty bacon, mellow ham, and that rich, stretchy cheese situation I always want in a casserole. I also like that it slices and serves cleanly, but still feels warm and comforting.
For me, this is best for lazy weekend brunch, especially when I want one dish that covers everything. Add a simple salad or some fruit on the side and it’s done.

Why You’ll Love This Recipe
Brunch in one pan: You get pasta, bacon, cheese, and baked eggs all in the same dish, so it eats like a full meal without a bunch of extra sides.
Rich and creamy: The sauce is thick and smooth, with cream cheese and Parmesan giving it that classic baked-pasta comfort.
Eggs make it special: Baking the eggs right on top turns a regular pasta bake into something that actually feels brunchy.
Easy to prep ahead: You can assemble it in advance (minus the eggs) and bake it when you’re ready, which is helpful for guests.
Flexible with add-ins: It’s easy to swap the meat or the veggie depending on what you have, and it still comes out great.
Ingredients You’ll Need
Pasta
- Penne pasta: I like penne here because it holds the sauce well and doesn’t get lost in the bake. Rigatoni works too if that’s what you have.
- Kosher salt: Salting the pasta water matters in a casserole like this. It’s the only chance to season the pasta itself.
Brunch add ins
- Bacon: Go with a thicker cut if you can so it stays a little meaty after baking. Crisp it well so it doesn’t get chewy in the casserole.
- Ham: Diced ham keeps things easy and very brunch-friendly. Rotisserie chicken also works if you’d rather go that direction.
- Baby spinach: I use baby spinach because it wilts fast and blends in nicely. Broccoli florets or peas are good swaps if you don’t want spinach.
- Garlic: Fresh garlic is best here, and it keeps the creamy sauce from tasting flat.
- Olive oil: Useful if you don’t have enough bacon drippings left in the pan. Either one works.
Creamy cheese sauce
- Unsalted butter: This is the base for the roux, so it’s worth using real butter here.
- All purpose flour: Regular flour thickens the sauce quickly. A 1-to-1 gluten-free flour works too if you need it.
- Whole milk: Whole milk keeps the sauce from turning thin once it’s baked. Lower-fat milk can work, but the sauce won’t be as rich.
- Heavy cream: This is what makes the bake feel like a brunch casserole instead of just pasta with milk sauce.
- Dijon mustard: You don’t taste “mustard,” but it gives the sauce a little edge. I wouldn’t skip it.
- Italian seasoning: An easy way to add herby flavor without digging through a spice drawer.
- Black pepper: Pepper is really nice with the bacon, ham, and eggs. Add a little more if you like it.
- Salt: I usually wait until the cheeses are in, then taste. Bacon, ham, and Parmesan all add salt.
- Mozzarella: This is where the stretch comes from. Pre-shredded is fine, but freshly shredded melts a little smoother.
- Parmesan: Use the grated kind you like eating. It adds that salty, savory flavor that makes the sauce taste “finished.”
- Cream cheese: Softened cream cheese makes the sauce extra creamy and helps it stay smooth after baking.
Topping
- Eggs: The eggs bake right into the top, so each serving can get its own egg. If you want firmer yolks, just bake a few minutes longer.
- Cheddar: A little cheddar on top adds a sharper flavor and a nice golden finish.
- Fresh parsley: Totally optional, but it’s a good fresh pop at the end. Chives are great too.

Recipe Instructions
- Preheat the oven: Heat the oven to 375°F and grease a 9 x 13-inch baking dish.
- Cook the pasta: Bring a large pot of water to a boil, salt it well, and cook the penne until just al dente. Drain and set aside.
- Cook the bacon: In a large skillet, cook the chopped bacon until crisp. Remove the bacon and reserve it, leaving about 1 tablespoon drippings in the skillet (or add olive oil if needed).
- Cook the spinach: Add the garlic to the skillet and cook briefly, then add the spinach and sauté until wilted. Stir in the diced ham, then remove from the heat.
- Make the roux: Melt the butter in a saucepan, whisk in the flour, and cook for about 1 minute.
- Thicken the sauce: Slowly whisk in the milk and heavy cream, then simmer until thickened, about 3 to 5 minutes.
- Add the cheese: Whisk in the Dijon mustard, Italian seasoning, pepper, cream cheese, mozzarella, and Parmesan until smooth. Taste and add salt if needed.
- Combine: Stir together the pasta, reserved bacon, ham-spinach mixture, and cheese sauce until everything is well coated.
- Fill the dish: Spread the pasta mixture into the baking dish, then sprinkle the cheddar over the top.
- Add the eggs: Make 6 shallow wells in the pasta and crack 1 egg into each well.
- Bake: Bake for 20 to 25 minutes, until the casserole is bubbling and the egg whites are set.
- Rest and serve: Let it rest for 5 minutes, garnish with parsley, and serve.

Some of my tips!
This is the part that really makes a difference. If you only read one section, make it this one because this is where I share the little trick that helps the recipe turn out so well.
Recipe Tips & Tricks
Keep the pasta a little underdone. If the penne is fully cooked before baking, it can get too soft in the oven. Al dente is the way to go.
Let the sauce thicken on the stove. Give it those few minutes to simmer so it coats a spoon. It will thicken a bit more after the cheese goes in.
Soften the cream cheese first. It melts in much smoother when it isn’t cold. If you forget, microwave it for a few seconds to take the chill off.
Make deeper wells than you think. The eggs need a little “nest” so they don’t slide around. I use the back of a spoon and push down to the bottom layer.
Watch the eggs near the end. Pull the casserole when the whites look set but the yolks still jiggle a bit, unless you want them firmer.
Make some touches!
There are plenty of easy ways to serve this depending on the occasion. Keep it simple, or add a few small touches to make it feel a little more special.
Serving Suggestions
- Simple salad: A chopped romaine salad with cucumber and a quick vinaigrette is nice with this. I keep it pretty plain.
- Fresh fruit: A bowl of berries, melon, or grapes works well on the side. It’s an easy way to lighten up the plate.
- Something crunchy: If you want more texture, serve it with toast or a crusty baguette. Garlic bread is great too, but it can be a lot with the richness.
- Hot sauce: A few drops on the eggs is really good here, especially if you like a little heat with bacon and cheese.
Save it for later
This section covers how to store leftovers and what parts of the recipe you can prepare ahead of time.
Storage and Make Ahead
Store leftovers covered in the fridge for up to 4 days. The eggs will firm up more as it sits, but it still reheats well.
Reheat individual portions in the microwave until hot, or warm the whole pan in the oven covered with foil. If it looks a little dry, a small splash of milk on the portion helps.
You can make this recipe ahead by assembling the casserole without the eggs, covering it tightly, and refrigerating overnight. Crack the eggs in right before baking.
If you’re baking it straight from the fridge, plan on a few extra minutes in the oven. You’re looking for bubbling edges and set egg whites.

A few quick answers
This section covers a few extra details that may help before you head to the recipe card.
Recipe FAQs
Can I use a different pasta shape?
Yes. Rigatoni, ziti, or rotini all work well in this kind of creamy baked pasta. I’d avoid very small shapes because the eggs and sauce can overwhelm them.
How do I know when the eggs are done?
The whites should look set and opaque, and the yolks should still jiggle a little if you want them soft. If you prefer firmer yolks, bake about 5 minutes longer.
Can I swap the ham for something else?
Rotisserie chicken is an easy swap and still tastes great with the bacon and cheese. You can also leave the ham out and just do bacon if you want it simpler.
Can I make it vegetarian?
You can, but you’ll want to replace the bacon and ham with something that has a little bite, like sautéed mushrooms or roasted broccoli. I’d also season the sauce a little more since you lose that salty meat flavor.
Can I make this gluten-free?
Yes, use gluten-free pasta and a 1-to-1 gluten-free flour in the sauce. Just keep an eye on the pasta doneness since gluten-free shapes can go soft quickly.
You might also like
Before you go, take a look at a few other recipes below the recipe card. They use similar ingredients in a different way and are worth saving too.

Creamy Pasta Bake Brunch Bake
INGREDIENTS
Pasta
- 12 oz penne pasta
- 1 tbsp kosher salt for pasta water.
Brunch add ins
- 6 slices bacon chopped
- 1 cup diced ham
- 1 cup baby spinach
- 3 cloves garlic minced
- 1 tbsp olive oil.
Creamy cheese sauce
- 3 tbsp unsalted butter
- 3 tbsp all purpose flour
- 2 cups whole milk
- 1 cup heavy cream
- 1 tsp Dijon mustard
- 1 tsp Italian seasoning
- ½ tsp black pepper
- salt to taste
- 1.5 cups shredded mozzarella
- ¾ cup grated Parmesan
- 4 oz cream cheese softened.
Topping
- 6 large eggs
- ½ cup shredded cheddar
- fresh parsley for garnish.
INSTRUCTIONS
Prep and sauce
- Heat oven to 375 F and grease a 9 x 13 inch baking dish
- cook pasta in salted boiling water until just al dente then drain
- cook bacon in a large skillet until crisp then remove and reserve leaving 1 tbsp drippings or add olive oil
- saute garlic and spinach until wilted then stir in ham and remove from heat
- melt butter in a saucepan then whisk in flour and cook 1 minute
- slowly whisk in milk and cream and simmer until thickened 3 to 5 minutes
- whisk in mustard seasonings cream cheese mozzarella and Parmesan until smooth then taste and adjust salt.
Assemble and bake
- Combine pasta bacon ham mixture and sauce then spread into baking dish and top with cheddar
- make 6 shallow wells and crack 1 egg into each well
- bake until casserole is bubbling and egg whites are set 20 to 25 minutes
- rest 5 minutes then garnish with parsley and serve.
