Mac and Cheese Casserole
This easy Mac and Cheese Casserole is made with elbow macaroni, a mix of cheeses, buttery cracker crumbs, and crispy bacon for the ultimate creamy and cheesy experience. I love making this for my family because I can have it ready in about an hour, and it’s the kind of comforting meal we all look forward to.

I really do believe cheese makes everything taste better, and mac and cheese is one of those meals I’m just so grateful exists. Growing up, I loved my mom’s version, and I knew I had to create my own so my kids could enjoy that same comforting feeling. My twist? A homemade cheese sauce that’s rich, creamy, and totally irresistible thanks to sour cream, heavy cream, and a blend of cheeses. This recipe is the one my kids ask for again and again, and they always say it’s the best mac and cheese ever. I mean, how could I not agree with that?
Table of contents
I’ve made all kinds of mac and cheese recipes over the years, from crispy mac and cheese balls to my buffalo chicken mac and cheese casserole, which is another big favorite in our house. As a mom, I really appreciate how easy these recipes are to pull together. This classic version is one I come back to often because it freezes so well for up to three months. That’s a total win in my book, especially on those extra busy weeks when I need dinner done fast.

Why you will love this recipe
- Quick to make, even quicker to disappear: This creamy casserole takes just 30 minutes to put together and 30 minutes in the oven. I can get it on the table in an hour, which is a big win on busy nights.
- So much cheese, and I wouldn’t change a thing: To get that cheesy pull and deep flavor, I use three kinds of cheese. There’s cream cheese for richness, cheddar for sharp flavor, and mozzarella for melt, for a total of six and a half cups. Yes, I measure.
- The creamiest sauce you’ll ever taste: I don’t hold back when it comes to cream. This sauce gets its silky texture from heavy cream, sour cream, whole milk, and evaporated milk.
- That golden topping is no joke: I keep it simple with buttery crackers, but that topping turns perfectly crisp and golden in the oven. Honestly, I always wish I’d made more, so I suggest doubling it right from the start.
- Because…bacon: I didn’t need a reason to add bacon, but I did it anyway. And let’s be real, bacon just makes everything taste better too.
What you’ll need

For the pasta and cheese sauce:
- Pasta and oil: I use elbow macaroni because it’s the perfect size for kids and holds the cheese sauce perfectly. A little olive oil is all I need to coat the pasta and grease the baking dish.
- Butter, flour, and cornstarch (for thickening): Unsalted butter adds richness and flavor, flour helps thicken the sauce, and cornstarch mixed with cream gives it that silky finish without any grit.
- Creams and milk: I go all in with four kinds – whole milk, heavy cream, sour cream, and evaporated milk. They each add their own layer of creaminess, and together they make the sauce full of body.
- Cheeses: I use cream cheese for thickness, cheddar for that classic sharp flavor, and mozzarella for melt and stretch. Shredding them fresh makes a big difference in both flavor and texture.
- Seasonings: Garlic powder, onion powder, mustard powder, paprika, thyme, red pepper flakes, and a pinch of salt round out the flavor.
For the topping:
- Cracker topping: I use Ritz crackers because they add a buttery, salty crunch that finishes the casserole perfectly. Melted unsalted butter helps bind the crumbs and makes them crisp up beautifully in the oven.
- Extra cheese for the top: I always sprinkle more cheddar and mozzarella on top right after baking.
- Bacon: I cook it until it’s nice and crispy, then chop it into bite-sized pieces.
How to make
Get things started: I start by preheating the oven to 350 degrees and buttering a casserole dish. While that warms up, I cook the pasta just until al dente so it holds up perfectly after baking, nobody wants mushy noodles.
Make the base for the sauce: In a large saucepan, I melt the butter over medium heat. Once it’s melted, I stir in the flour until it’s fully combined. Then I slowly pour in the milk, the heavy cream mixed with cornstarch, and the evaporated milk, stirring as I go to keep everything smooth.

Make it creamy and cheesy: I let the sauce simmer for a few minutes, then stir in the sour cream and cream cheese until everything is smooth. After that, I add the cheddar and mozzarella and give it a good mix so the cheese melts into the sauce. Once it’s all creamy and well combined, I season it and stir in the cooked pasta until every piece is coated.

Bake: I pour the cheesy pasta into the prepared casserole dish and spread it out evenly. Then I sprinkle the top with the remaining cheddar, mozzarella, buttery cracking topping if using and crispy bacon. It bakes for 30 to 35 minutes until the top is golden and bubbly, just the way we like it.

Time to serve: Once it’s out of the oven, I let the casserole cool for a few minutes so it sets up just right. Then I scoop and serve it while it’s still warm and extra melty – honestly, that first bite is always the best.

Expert tip
Cheese quality matters most
I always say better cheese makes a better casserole, and for me, that starts with high quality cheddar. I’ve tried different combinations over the years, but cheddar and mozzarella are so far my favorite for this recipe, with a little cream cheese for that extra creamy texture. Sometimes I throw in Colby or even a bit of parmesan, especially when I’m playing around with flavor. I stick with mild cheddar when I’m making it for my kids since it’s more mellow, but when I’m cooking for friends or serving it at a dinner party, I go with sharp cheddar because it gives the dish a deeper, more grown-up flavor.
More tips to consider:
- I always cook the pasta just until al dente since it keeps cooking in the oven. If it’s too soft going in, it can turn mushy after baking.
- If the casserole is still too runny after resting, I mix up a quick cornstarch slurry and stir it in. Then I let it sit for another five minutes to thicken.
- When I add milk to the flour, I go slow and stir constantly. That keeps the sauce smooth without any clumps.
- I bake the casserole uncovered so the top gets nice and golden. If it starts to brown too much, I loosely cover it with foil near the end.
- I don’t rinse the pasta after cooking. That little bit of starch helps the sauce cling and makes it even creamier.

Recipe variations
- Different cheeses: Sometimes I swap in Colby Jack, Monterey Jack, or even a little gouda. It’s a great way to use what I have in the fridge and still keep that melty goodness.
- Add veggies: I like to mix in steamed broccoli, peas, or spinach when I want something green on the plate. It’s an easy way to add some balance without making a separate side dish.
- Make it spicy: A pinch of cayenne or a diced jalapeño can bring a gentle heat. I usually add this when I know the kids won’t mind a little spice.
- Swap the meat: Instead of bacon, I’ve used cooked sausage, ham, or leftover chicken. It turns the casserole into more of a full meal and helps use up what’s on hand.
- Try different pasta shapes: Elbows are classic, but I’ve made this with shells, cavatappi, and penne too. As long as it holds the sauce well, it works great.

Serving suggestions
I love serving this mac and cheese casserole alongside grilled burgers or barbecue ribs when we’re having friends over. It definitely brings everyone back for seconds, so I always make an extra casserole or two, just in case, especially when there’s also a platter of homemade hotdogs on the table.
When game day rolls around, this casserole always finds a spot on the table. I scoop it into a big dish and set out some chips for dipping, it disappears fast. I usually make a batch of honey garlic wings to go with it, and if I’m feeling extra, I’ll add my crack corn salad or some creamy Mexican street corn on the side. It’s the kind of spread that keeps everyone full and happy while we hang out and watch the game.
How to store leftovers
- Refrigerate: After it cools, I put the leftover mac and cheese casserole in an airtight container or cover the casserole dish with plastic wrap and aluminum foil. It will stay fresh in the fridge for several days.
- Freezing: To freeze, I put leftovers in freezer bags. They can be frozen for up to three months.
- Defrost: Thaw overnight in your refrigerator for the best flavor.
- Reheating: If your casserole is still in the dish, cover and heat in the oven for 10 minutes at 350 degrees F. Or heat it in the microwave for one or two minutes.

Frequently Asked Questions
If the sauce feels too thick before adding the pasta, I just stir in a little more milk or even a splash of chicken broth to loosen it up. I like it creamy but still pourable so it coats every piece of macaroni.
This can happen if I didn’t drain the pasta fully or if I added a bit too much milk. I make sure to add the flour slowly to the milk and mix the cornstarch into the cream really well before it goes in the pot. If it still turns out runny, I stir in another quick cornstarch slurry and warm it up a little more. Adding extra cheese and letting it rest before serving also helps it thicken nicely.
Yes, I often prep it the night before and keep it in the fridge until I’m ready to bake. When I do that, I usually add a few extra minutes to the baking time since it’s going in cold.

More casserole recipes:
Loved this recipe? I’d love to hear from you! 💛 Leave a 5-star rating ⭐️ in the recipe card below and share your thoughts in the comments – I read and appreciate every single one!
Let’s stay connected! Follow me on Facebook, Instagram, Pinterest, and YouTube for more delicious, sweet and savory recipes. Have a question? Ask in the comments, and I’ll be happy to help! 😊 with love Catalina!

Mac and Cheese Casserole
Ingredients
- 1 pound elbows macaroni cooked per box directions, aim for al dente
- 1 tablespoon olive oil
Cheese Sauce:
- 4 tablespoons butter unsalted
- 1/4 cup all-purpose flour
- 3 cups milk
- 1 cup heavy whipping cream or light cream
- 1 can of 14 oz. evaporated milk
- 2 tablespoons cornstarch
- 1/4 teaspoon salt
- 1 teaspoon garlic powder
- 1 teaspoon onion powder
- 1 teaspoon ground thyme optional
- 1 teaspoon paprika optional
- 1 teaspoon mustard powder
- 1/4 teaspoon red pepper flakes optional
- 1/2 cup sour cream
- 4 oz. cream cheese cubed and at room temperature
- 3 cups cheddar cheese freshly grated or buy pre-shredded
- 1 cup mozzarella cheese freshly grated or buy pre-shredded
Buttery Cracker Topping:
- 1 1/2 cups cracker crumbs I used Ritz crackers
- 6 tablespoons unsalted butter melted
Other Toppings:
- 1 cup mozzarella cheese shredded
- 1 cup cheddar cheese shredded
- 10 bacon slices cooked
Instructions
- Preheat oven to 350 degrees F.
- Lightly grease a 9×13 baking dish with butter or with non-stick cooking spray. Set aside.
- Cook pasta according to the box directions, aiming for al dente. Drain, mix with olive oil, and set aside.
Cheese Sauce:
- Place a large saucepan over medium heat, and once it's hot, add the butter. Stir and melt the butter, being careful not to burn it.
- Add the flour and whisk until thoroughly combined with the melted butter.
- While still whisking, gradually add the milk, stirring to combine. Take your time, and don't rush through this step.
- In a small bowl, whisk cream and cornstarch until fully combined and the cornstarch is fully dissolved. Add the mixture to the pan and stir to combine.
- Add the evaporated milk and stir to combine. Add onion powder, garlic powder, ground thyme, paprika, mustard, red pepper flakes, and salt.
- Stir over medium heat, bring the mixture to a boil, and let it simmer for about 2 minutes.
- Stir in sour cream and cream cheese until thoroughly combined. If the sauce is too thick, add more milk or some chicken broth. Taste and adjust for salt and pepper.
- Reduce heat to low and add 3 cups of cheddar cheese and 1 cup of freshly grated or pre-shredded mozzarella cheese. Stir to combine until the cheese is fully melted.
- Remove the pan from heat and add the cooked elbows macaroni. Stir to combine.
- Transfer the mixture to the prepared casserole dish.
Buttery Cracker Topping:
- In a medium bowl combine cracker crumbs with melted butter and stir using a fork until fully combined.
Other Toppings:
- Level the top with a spatula and sprinkle 1 cup of mozzarella cheese and 1 cup of cheddar cheese evenly over the surface of the casserole.
- Sprinkle the Buttery Cracker Topping evenly over the surface and top with chopped cooked bacon, if using.
Bake:
- Bake the casserole uncovered in the preheated oven for 25-30 minutes until the top is golden brown and bubbly.
- Remove from oven and let it rest for 15 minutes before serving.
- Serve topped with extra bacon and, if desired, chopped parsley.
Video
Notes
Cheese quality matters most
I always say better cheese makes a better casserole, and for me, that starts with high quality cheddar. I’ve tried different combinations over the years, but cheddar and mozzarella are so far my favorite for this recipe, with a little cream cheese for that extra creamy texture. Sometimes I throw in Colby or even a bit of parmesan, especially when I’m playing around with flavor. I stick with mild cheddar when I’m making it for my kids since it’s more mellow, but when I’m cooking for friends or serving it at a dinner party, I go with sharp cheddar because it gives the dish a deeper, more grown-up flavor.More tips to consider:
- I always cook the pasta just until al dente since it keeps cooking in the oven. If it’s too soft going in, it can turn mushy after baking.
- If the casserole is still too runny after resting, I mix up a quick cornstarch slurry and stir it in. Then I let it sit for another five minutes to thicken.
- When I add milk to the flour, I go slow and stir constantly. That keeps the sauce smooth without any clumps.
- I bake the casserole uncovered so the top gets nice and golden. If it starts to brown too much, I loosely cover it with foil near the end.
- I don’t rinse the pasta after cooking. That little bit of starch helps the sauce cling and makes it even creamier.