If you’re looking for the absolute best baked mac and cheese recipe, you just found it. We’re talking ultra-creamy, perfectly cheesy, with a golden, buttery breadcrumb topping that’s just chef’s kiss perfection.
![frontal view of Mac and cheese being pulled from dish with wooden spoon](https://www.savorynothings.com/wp-content/uploads/2021/11/Baked-Mac-and-Cheese-Recipe-Image-2.jpg)
This is the kind of dish that makes kids clean their plates and has adults sneaking seconds straight from the pan!
Why you’ll love this recipe
If I had to choose my ultimate comfort food, this baked mac and cheese might just be it.
- It’s ultra creamy, ultra cheesy – Every bite is rich, gooey, and packed with melty cheese. Put me in front of a pan straight out of the oven, and let’s just say… self-control is not my strong suit.
- No sad, overcooked pasta – The macaroni stays perfectly tender, never mushy, thanks to cooking it to al dente and coating it in butter before adding the dreamy cheese sauce!
- That buttery, golden topping – A crispy, crunchy layer that takes this from good to downright dangerous. You can go all out with a thick layer here, or only add a dusting. I mean, it’s technically even optional to add a topping, but if you like golden-crunch magic, I highly recommend it!
Ingredients you’ll need
Here is a visual overview of the ingredients in the recipe. Scroll down to the printable recipe card at the bottom of this post for quantities!
Ingredient notes
- Macaroni: I use classic elbow macaroni because it holds the cheese sauce perfectly, but any short pasta like shells, cavatappi, or penne will work. Just avoid anything too thin or delicate – it needs to hold up to all that creamy, cheesy goodness!
- Cheese matters! I’ve tested this recipe so many times, and freshly shredded cheese is a must. Pre-shredded cheese has anti-caking agents that can make the sauce grainy instead of smooth and velvety. Trust me, taking a few extra minutes to shred your own makes all the difference.
- Sharp cheddar: The backbone of the flavor. I go for extra-sharp cheddar because it adds that deep, rich cheesiness. Mild cheddar works, but the flavor won’t be as pronounced. If you want something even bolder, white cheddar is fantastic too!
- Gruyère: This adds a slightly nutty, melty goodness that takes the sauce to the next level. If you don’t have Gruyère, Swiss, fontina, or Monterey Jack are great substitutes.
- Mozzarella: It brings that stretchy, melty factor. I use low-moisture, part-skim mozzarella to avoid extra wateriness in the sauce. If you don’t have mozzarella, provolone or gouda work well.
- Milk & cream: I like a mix of whole milk and half-and-half (or heavy cream) for the perfect balance of creamy texture without being too rich. If you want a lighter mac and cheese, you can use just whole milk, but I wouldn’t go lower than 2% – you’ll lose that luscious texture.
- Seasonings: The Dijon mustard, paprika, garlic powder, and onion powder may seem small, but don’t skip them! They add so much depth of flavor without overpowering the cheese. If you want a smoky twist, smoked paprika is a great swap.
- Nutmeg: I know, I know – nutmeg in mac and cheese? But hear me out! It’s just a tiny pinch, and it brings out the richness of the cheese sauce in the best way. If you’re skeptical, you can leave it out, but I highly recommend giving it a try!
- Breadcrumb topping: Panko breadcrumbs are my go-to for the best crispy texture, but if you don’t have them, crushed Ritz crackers, crushed saltines, or even homemade toasted breadcrumbs work too. If you want to skip the topping entirely, that’s totally fine – it’s still amazing without it!
How to make Mac and Cheese
Let’s make some seriously amazing baked mac and cheese together! I’ll walk you through each step so you get that perfectly creamy, ultra-cheesy, golden-topped mac and cheese that your family will absolutely devour.
1. Prep everything before you start
Before we dive in, go ahead and preheat your oven to 350°F. Lightly grease a 3-quart casserole dish (or a 9×13-inch pan) with butter or nonstick spray. Trust me, you don’t want to be scrambling to do this later while juggling hot pasta and bubbling cheese sauce!
While you’re at it, bring a large pot of water to a boil for the pasta. Add a good pinch of salt – like a full tablespoon – because this is your one chance to season the macaroni itself. (Unsalted pasta = bland mac and cheese. We don’t want that!)
2. Cook the macaroni (but don’t overcook it!)
Add 16 oz of elbow macaroni to the boiling water and cook it just until al dente – usually about a minute less than the package instructions.
This is super important because the pasta will keep cooking in the oven later. If you cook it until it’s perfectly soft now, it’ll turn to mush in the final dish. We want it to hold up to all that creamy cheese sauce!
Once it’s done, drain it well, then toss it with 1 tbsp of butter to keep it from sticking together (and to keep it from soaking up extra liquid – no mushy macaroni here!) while we make the sauce. Spread it out in the prepared casserole dish and let it cool a little – that way it doesn’t sit in a big lump on top of each other.
3. Shred all the cheese
While the pasta is cooking, shred all your cheese:
- 4 cups sharp cheddar (save 1 cup for the topping)
- 2 cups Gruyère
- 1 cup mozzarella
I highly recommend shredding your own cheese instead of using pre-shredded. I know it’s tempting to grab the bagged stuff to save time, but trust me – pre-shredded cheese has anti-caking agents that keep it from melting smoothly. We want a velvety, creamy sauce, and freshly shredded cheese melts so much better.
Once everything is shredded, set aside 1 cup of cheddar for later. The rest will go into the sauce!
4. Make the cheese sauce (the heart of this mac and cheese!)
Now for the best part – the luscious, creamy cheese sauce!
Grab a wide, deep skillet or a large saucepan and melt 8 tbsp of butter over medium heat. Once melted, whisk in ½ c all-purpose flour and cook, whisking constantly, for about 1–2 minutes.
This step is called making a roux – it thickens the sauce and gives it that silky, creamy texture. You’ll know it’s ready when the mixture is bubbling and smells slightly nutty. Just don’t let it brown!
5. Slowly add the milk (and avoid lumps!)
Now, slowly pour in 3½ c whole milk, whisking constantly as you go. This is where things can go wrong – if you add the milk too fast, you’ll get a lumpy sauce. So pour a little at a time, whisk it in completely, then add more.
Once all the milk is in, stir in 1 c half-and-half (or heavy cream, if you want it extra rich) and keep whisking over medium heat until the sauce is smooth and slightly thickened – about 5 minutes. It should coat the back of a spoon but still be pourable.
6. Season the sauce (tiny ingredients, big impact!)
Take the sauce off the heat and stir in:
- 1 tsp Dijon mustard (adds depth without tasting mustardy!)
- 1 tsp salt (adjust based on your cheese’s saltiness)
- ½ tsp onion powder
- ½ tsp garlic powder
- ¼ tsp ground paprika
- ⅛ tsp ground nutmeg (sounds weird, but it enhances the cheese flavor!)
- A few grinds of black pepper
These seasonings might seem small, but trust me – they make a huge difference in flavor. Mac and cheese should taste like more than just melted cheese!
Now for the moment of truth! Stir in the 3 cups of cheddar, 2 cups of Gruyère, and 1 cup of mozzarella (remember, we saved 1 cup of cheddar for later).
Do not rush this part – stir slowly and gently until everything melts into a smooth, velvety sauce. If the sauce looks grainy, your heat may be too high. Just take it off the burner and keep stirring – it should come together!
8. Combine the pasta and sauce
Add the macaroni to the cheese sauce and stir gently until the noodles are evenly covered. Spread it in the casserole dish, using a spoon or spatula to gently smooth out the top.
At this point, try not to eat it straight from the pan. (I say this from experience.)
9. Add the topping (crunchy = better!)
Evenly sprinkle the reserved 1 cup of shredded cheddar over the top.
For extra crunch, mix ½ c panko breadcrumbs with 1 tbsp melted butter and ⅛ tsp salt, then sprinkle it over the cheese layer.
If you love a crispy topping, feel free to double the breadcrumbs – but even a thin layer adds a satisfying crunch!
10. Bake until bubbly and golden
Pop the dish into the 350°F oven and bake for 20–25 minutes, or until the edges are bubbling and the topping is lightly golden.
Be careful not to overbake – if you leave it in too long, the sauce will start to thicken too much, and we want it creamy!
11. Let it rest (this part is hard, I know!)
As soon as it’s out of the oven, it’ll smell amazing and you’ll want to dive in immediately – but let it sit for 5–10 minutes first.
Why? Because it gives the cheese sauce a chance to settle and thicken slightly, so you get those creamy, gooey bites instead of a runny mess.
Once it’s ready, serve it up, grab a fork, and enjoy the best baked mac and cheese ever! 🧀✨
Top tips for recipe success
- Don’t overcook the pasta! This is the most common mistake. Cook the macaroni just until al dente (even slightly under!), because it will keep cooking in the oven. If you overcook it in the water, you’ll end up with mushy mac and cheese. (Been there, regretted that.)
- Shred your own cheese. I know the bagged stuff is convenient, but pre-shredded cheese has anti-caking agents that prevent it from melting smoothly. If you want a silky, creamy sauce (and not a grainy one), take the extra five minutes and shred your own.
- Add the milk slowly when making the sauce. Pouring it in all at once can cause lumps, and once those happen, there’s no saving it. I pour in a little at a time, whisking constantly, until it’s smooth before adding more. If you’ve never made a béchamel sauce base before, you can take the whole pan off the heat to add the milk. It makes it pretty foolproof! You can also go take a look at my béchamel recipe for thorough step by step guidance.
- Keep the heat medium when melting the cheese. If the heat is too high, the cheese can separate and turn grainy instead of creamy. If this happens, take it off the heat and stir gently until it smooths out.
- Season the sauce well. Mac and cheese should taste like more than just melted cheese! The Dijon mustard, paprika, garlic powder, and nutmeg might seem like tiny additions, but they really boost the flavor.
- For an extra creamy texture, don’t overbake. Baking is mostly to meld the flavors and toast the topping – you’re not trying to cook the pasta more. If it stays in the oven too long, the sauce will get too thick and lose its creamy, gooey texture.
- Rest before serving. This part is so hard (especially with hungry kids hovering), but letting it sit for 5–10 minutes before scooping allows the sauce to set up and get perfectly creamy instead of runny.
Helpful recipe hints
Recipe variations
Sometimes I like to switch things up, depending on what I’m craving (or what I have in the fridge!). Here are a few of my favorite ways to put a spin on this baked mac and cheese:
- Spicy kick – If I want a little heat, I add ½ teaspoon of cayenne pepper to the cheese sauce. For a real kick, I’ll toss in some diced jalapeños or a few dashes of hot sauce. My husband loves it this way, but I keep the spice level low for the kids!
- Loaded mac and cheese – When I need this to be more of a full meal, I stir in shredded rotisserie chicken or cooked ground beef. It turns into the ultimate hearty dinner!
- Broccoli cheddar – If I’m feeling slightly responsible about adding some veggies, I steam 2 cups of broccoli florets and stir them in before baking. Even my picky eaters love it this way (because cheese makes everything taste amazing).
- Truffle mac and cheese – Okay, this one’s for when I’m feeling fancy. I use all Gruyère and white cheddar, stir in ½ teaspoon of truffle oil, and top it with buttery crushed Ritz crackers instead of panko. It’s ridiculously good.
- Love a crispy top? Broil it! If you want an extra golden, crunchy breadcrumb topping, switch the oven to broil for the last 2–3 minutes – but watch it closely so it doesn’t burn.
Let me know if you try any of these – there’s (almost) no wrong way to enjoy mac and cheese!
Storage tips
Mac and cheese is always a hit in my house, so I love having options for making it ahead or saving leftovers for later. Here’s how to store it properly so it stays just as creamy and delicious:
Make-ahead instructions
- If I know I’ll be short on time, I assemble the entire mac and cheese, but don’t bake it. I cover it tightly with plastic wrap and refrigerate it for up to 24 hours.
- When I’m ready to bake, I let it sit at room temperature for 20 minutes, then bake as directed. If it’s straight from the fridge, I often need to add an extra 5 minutes to the baking time.
Storing leftovers
- Leftover mac and cheese keeps well in the fridge for up to 3 days. I store it in an airtight container so it doesn’t dry out.
- When reheating, I always add a splash of milk (about 1–2 tbsp per serving) to help bring back the creaminess. I warm it in the microwave in 30-second bursts, stirring in between, or cover it with foil and reheat in a 300°F oven for about 15 minutes.
Freezing Instructions
- If I want to freeze mac and cheese, I do one of two things:
- Freeze before baking: I assemble it in a freezer-safe dish, cover tightly with plastic wrap and foil, and freeze for up to 3 months. When ready to bake, I thaw it in the fridge overnight, then bake as directed for refrigerated Mac and cheese.
- Freeze after baking: I let the mac and cheese cool completely, then portion it into freezer-safe containers. When I need a quick meal, I thaw a portion overnight and reheat with a little milk in the microwave or oven.
Serving ideas
Honestly, this baked mac and cheese is so good, it deserves to be the main event. Just add a crisp green salad with lemon vinaigrette or a simple veggie side (air fryer broccoli (or garlic roasted broccoli) always works!), and you’ve got a meal that’s comforting, satisfying, and guaranteed to make everyone at the table happy.
But if you’re looking for the perfect main dish to serve alongside it, this pairs beautifully with just about any cozy, homestyle meal. It’s especially good with:
- Crispy Baked Chicken Thighs – That golden, crackly skin + creamy mac and cheese? A match made in comfort food heaven.
- Baked Pork Chops – Juicy, flavorful, and so easy to make. The richness of the mac balances perfectly with the garlicky pork.
- Oven fried chicken (or buttermilk oven fried chicken or garlic parmesan oven fried chicken… OR air fryer fried chicken) – the OG comfort food pairing!
- Easy Roast Chicken or Classic Meatloaf – Classic Sunday dinner vibes! A beautifully roasted chicken with crispy skin next to a scoop of cheesy mac is pure perfection.
- Serve it as a side for a classic BBQ dinner with crock pot pulled pork (or instant pot pulled pork) with crockpot baked beans; it’s also delicious with sloppy joes and coleslaw, or with air fryer hot dogs and grilled corn on the cob!
And let’s not forget holiday meals – this mac and cheese always has a spot on my table for Thanksgiving, Christmas, and Easter.
More classic casseroles and bakes
PS If you try this recipe, please leave a review in the comment section and add a star rating in the recipe card – I appreciate your feedback! Follow along on Pinterest, Facebook or Instagram.
Printable recipe
Creamy Homemade Baked Mac and Cheese
Recipe details
Ingredients
Macaroni:
- 1 (16-oz) box dried elbow macaroni uncooked
- 1 tablespoon unsalted butter
Cheese:
- 1 (16-oz) block sharp cheddar cheese freshly shredded (about 4 cups); divided
- 1 (8-oz) block Gruyere cheese freshly shredded (about 2 cups)
- ½ (8-oz) block low moisture part-skim mozzarella cheese freshly shredded (about 1 cup)
Sauce:
- 8 tablespoons unsalted butter
- ½ cup all-purpose flour
- 3 ½ cups whole milk warmed to lukewarm
- 1 cup half-and-half OR heavy cream OR more whole milk; depending on preferred richness
Seasonings:
- 1 teaspoon Dijon mustard
- 1 teaspoon salt more or less to taste; depends a lot on exact cheeses used
- ½ teaspoon onion powder
- ½ teaspoon garlic powder
- ¼ teaspoon ground paprika
- ⅛ teaspoon ground nutmeg
- ground black pepper to taste
Topping (optional):
- 1 cup panko breadcrumbs or more to taste
- 1 tablespoon unsalted butter melted
- ⅛ teaspoon salt
Instructions
- Prep: Heat oven to 350°F and lightly grease a 3-quart casserole dish.
- Boil macaroni: Cook 1 (16-oz) box dried elbow macaroni according to package directions. Drain well, then toss with 1 tablespoon unsalted butter. Spread macaroni in prepared casserole dish and set aside to cool.
- Shred cheeses: While macaroni is cooking, shred 1 (16-oz) block sharp cheddar cheese, 1 (8-oz) block Gruyere cheese and ½ (8-oz) block low moisture part-skim mozzarella cheese. Set aside 1 cup of shredded cheddar for topping. Combine remaining cheddar, Gruyere, and mozzarella in a bowl.
- Make the sauce base:Prepare roux: Melt 8 tablespoons unsalted butter in a wide, deep skillet over medium heat. Whisk in ½ cup all-purpose flour and cook, whisking constantly, until mixture is no longer foaming (about 1–2 minutes).Add milk: Carefully whisk in 3 ½ cups whole milk (warmed), ensuring pan is set over medium heat (not higher) to prevent splattering or lumps. Cook over medium heat, whisking constantly, until smooth and lightly thickened (about 5 minutes).Incorporate cream: Stir in 1 cup half-and-half (or heavy cream) and heat over medium heat for an additional 1-2 minutes. Remove skillet from heat.
- Finish sauce: Add 1 teaspoon Dijon mustard, 1 teaspoon salt, ½ teaspoon onion powder, ½ teaspoon garlic powder, ¼ teaspoon ground paprika, ⅛ teaspoon ground nutmeg and ground black pepper. Also add combined cheeses (excluding the reserved cheddar) to sauce. Stir until smooth and creamy. Add cooled macaroni to sauce and stir to coat. Return sauced macaroni to casserole dish.
- Add reserved cheddar and topping: Evenly sprinkle reserved 1 cup of shredded cheddar over macaroni. In a small bowl, combine 1 cup panko breadcrumbs with 1 tablespoon unsalted butter (melted); add ⅛ teaspoon salt or to taste. Sprinkle breadcrumb mixture over cheddar layer.
- Bake: Bake in preheated oven at 350°F for 20–25 minutes, or until edges are bubbly and topping is lightly golden. Avoid over-baking to maintain a creamy texture. Let stand 5-10 minutes, then serve immediately!
Notes
Ingredient notes
- Macaroni: Cook just until al dente—it will soften more in the oven.
- Cheese: Shred your own! Pre-shredded cheese won’t melt as smoothly.
- Cheddar: Use sharp or extra-sharp for the best flavor.
- Gruyère: Adds richness, but Swiss, fontina, or Monterey Jack work too.
- Breadcrumb Topping: Use panko for extra crunch, or swap for crushed Ritz crackers.
Recipe tips
- Undercook the pasta slightly to prevent mushy mac and cheese.
- Add milk slowly to the roux while whisking to avoid lumps.
- Keep heat on medium when melting cheese – too hot = grainy sauce.
- Rest for 5–10 minutes before serving so the sauce sets and stays creamy.
- Want extra crunch? Broil the topping for 2–3 minutes at the end.
Storage tips
- Make ahead: Assemble (but don’t bake), cover, and refrigerate up to 24 hours.
- Reheat leftovers: Add a splash of milk and warm in the oven at 300°F or microwave in short bursts.
- Freeze before baking: Cover tightly and freeze up to 3 months. Thaw overnight, then bake.
- Freeze after baking: Portion into containers, thaw overnight, and reheat with a little milk.
Nutrition
More recipe information
Recipe first published in 2017. Updated with new photos, better text and slight changes to recipe on 11/22/2021. Updated with new photos, new text and completely revamped and improved recipe on 01/20/2024.
Jackie in Florida says
Made this last night Nora and it was delicious. I loved the chic broth/milk combo. The cheese sauce was wonderful. Thank you for such a great recipe. You never disappoint.
Nora says
Thank you so much for your kind words, Jackie! It’s always great to hear my recipes are appreciated.
Pam C says
Absolutely delicious! Thanks for the tips in making this dish.
Penny says
Excellent
Bethany says
I love nothing better than a really good homemade mac and cheese! This looks awesome, and I love that you used mozzarella in it!
Ben Myhre says
I loooove me some mac and cheese!