Appetizers
This baked macaroni and cheese recipe from scratch delivers the perfect balance of crispy golden top and creamy, gooey heart—no shortcuts, just rich, restaurant-quality comfort.
The secret lies in a proper roux-based cheese sauce that never breaks, combined with a double-baking technique that creates that coveted crunch while keeping the inside gloriously tender. I’ve perfected this version over years of testing, ensuring every bite delivers that ideal texture contrast that makes it irresistible.
The foundation starts with al dente pasta cooked just shy of perfection, then tossed into a velvety cheese sauce made from a roux, whole milk, and a blend of sharp cheddar, Gruyère, and cream cheese for depth.
What sets this apart is the double-baking method: first to set the cheese into a firm layer, then a second bake with buttery breadcrumbs for that signature crispy crust that holds up to every forkful. The result is a dish that’s equal parts indulgent and satisfying.
By the time it emerges from the oven, you’ll have a casserole with a golden, crackly top that shatters slightly under pressure, revealing the creamy, melted cheese beneath. The aroma alone—warm, cheesy, and slightly toasty—will have everyone gathered around the table before it even cools.
This isn’t just mac and cheese; it’s a showstopper that proves homemade can outshine anything store-bought.
Perfect for feeding a crowd, meal prepping, or treating yourself after a long week, this recipe scales effortlessly while maintaining that perfect texture. The instructions are straightforward, but the technique ensures professional results—no guesswork, just foolproof comfort food. Let’s get started on creating your next favorite dish.
Ingredients for baked macaroni and cheese recipe from scratch
Sixteen essential ingredients transform into the ultimate restaurant-quality mac and cheese with that coveted crispy top.
| Ingredient | Amount | Notes |
|---|---|---|
| Elbow Macaroni 🍝 | 1 ½ lb | Al dente, cooked 1 minute less than package |
| Unsalted Butter 🧈 | ½ cup | Cold, cubed for roux |
| All-Purpose Flour 🌾 | ¼ cup | For perfect roux texture |
| Whole Milk 🥛 | 2 cups | Whole milk for richness |
| Sharp Cheddar Cheese 🧀 | 2 cups | Shredded, aged 6+ months |
| Gruyère Cheese 🧀 | 1 cup | Shredded, nutty flavor |
| Cream Cheese 🧀 | 8 oz | Full-fat for creaminess |
| Yellow Mustard 🫑 | 1 tbsp | Adds tangy depth |
| Salt 🧂 | 1 ½ tsp | Kosher salt, adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Panko Breadcrumbs 🍞 | ½ cup | For crispy topping |
| Extra-Virgin Olive Oil 🫒 | 1 tbsp | For breadcrumb coating |
| Garlic Powder 🧄 | ½ tsp | Enhances cheesy flavor |
The cheeses are where the magic happens. Sharp cheddar gives the tang, Gruyère adds nutty depth, and cream cheese binds it all together like a velvety dream. Grab the aged cheddar—you can taste the difference in that sharpness. Whole Foods or specialty cheese shops have the best selection, but any grocery store with a decent deli section works. The Gruyère should be shredded yourself—pre-shredded gets gummy. And don't skimp on the cream cheese; full-fat is non-negotiable for that perfect texture. For the roux, cold butter and flour are key—don't rush this step or you'll end up with lumps.
No sharp cheddar? Extra sharp cheddar at half the amount works in a pinch. Gruyère hard to find? Parmesan or white cheddar adds a different but still delicious depth. The mustard is non-negotiable though—it cuts through the richness. Dijon mustard works too, but yellow has that classic mac and cheese tang. For the breadcrumbs, panko is ideal, but any dry breadcrumbs will do. The garlic powder is just for flavor—don't skip it. And if you're making this ahead, the roux can be made a day in advance and stored in the fridge (just reheat gently before adding milk). The pasta? Cook it al dente—it'll finish cooking in the oven.
This dish is a crowd-pleaser that reheats beautifully—honestly tastes better the next day once everything melds. Keeps 4-5 days in the fridge, freezes for 3 months. I always make a double batch because it disappears fast. For the crispy top, don't overbake—the breadcrumbs should be golden but not burnt. If you're prepping ahead, assemble everything except the breadcrumb topping, cover, and refrigerate. Add the topping just before baking. And trust me on the double-bake—it's what makes this dish restaurant-quality.
Why You'll Love This Recipe
- No-Fuss Pantry Staples: I swear by this recipe because it uses what I always have—just milk, butter, flour, and that sharp cheddar block I keep in the fridge. No fancy ingredients, no last-minute grocery runs. Honestly, the roux alone (butter + flour cooked low and slow) makes me feel like I’m making something special, even though it’s basically just melted cheese.
- Golden Crisp Magic: That crispy top layer? It’s the real star. I let the cheese sauce bubble until it thickens like pudding, then broil it just until the edges turn golden and the center stays silky. The contrast—crunchy on top, creamy underneath—is what makes this dish dangerously good. (Yes, even on a Tuesday night.)
- Leftovers That Taste Better: Between us, my baked mac and cheese is better the next day. The flavors meld, the cheese gets even gooier, and it reheats in minutes. I’ll pack it in a container for lunch or freeze half for when I’m too tired to cook. My kids don’t even notice it’s not fresh—though I do.
- Budget-Friendly Crowd Pleaser: This feeds six for under $8, and everyone—pickiest eaters included—asks for seconds. The elbow macaroni is cheap, the cheddar stretches far, and the flour-butter roux cuts costs without sacrificing richness. It’s my go-to for game days, potlucks, or when I need to feed a houseful without breaking the bank.
Step-by-step instructions for baked macaroni and cheese
Here's how to create the ultimate baked mac and cheese with a golden, crispy top and gooey center.
Cook the Elbow Macaroni to Al Dente Perfection
Bring a large pot of salted water to a rolling boil. Add the 1.5 lb elbow macaroni and cook for 1 minute less than the package directions suggest for al dente. I like to test the pasta by tasting a piece—it should be tender but still have a slight bite. Drain the pasta in a colander and set it aside, reserving ½ cup of the starchy pasta water. This water is liquid gold for creating a silky sauce later.
Don't rinse the pasta—those surface starches are crucial for binding the cheese sauce. The pasta should be hot when you mix it with the cheese, so keep it in the colander until you're ready to combine everything. This step sets the foundation for the perfect texture in your finished dish.
Make the Ultimate Cheese Sauce from Scratch
In a large, heavy-bottomed pot, melt the ½ cup unsalted butter over medium heat until it's completely liquid. Add the ¼ cup all-purpose flour all at once and whisk vigorously for 1-2 minutes until you have a smooth, pale roux. This should look like wet sand and smell nutty—don't walk away, or it'll burn.
Gradually whisk in the 2 cups whole milk, about ½ cup at a time, allowing each addition to be fully incorporated before adding more. Once all the milk is in, stir in the 1 tbsp yellow mustard, 1.5 tsp salt, and ½ tsp black pepper. Bring the mixture to a gentle simmer and cook for 5-7 minutes, stirring constantly, until it thickens enough to coat the back of a spoon.
Now comes the cheesy magic. Reduce the heat to low and add the 2 cups sharp cheddar cheese, 1 cup gruyère cheese, and 8 oz cream cheese all at once. Stir vigorously until completely melted and smooth. If the sauce looks too thick, add 1-2 tablespoons of the reserved pasta water to loosen it. The sauce should be luxurious and coat the back of a spoon.
Combine Pasta and Cheese for Maximum Gooeyness
Add the hot, drained pasta to the cheese sauce and stir gently but thoroughly to coat each piece evenly. The pasta will absorb some of the sauce, so don't be surprised if it looks dry at first—keep stirring until everything is well combined. The mixture should be thick but still moist enough to hold together.
Transfer the entire macaroni and cheese mixture to a 9x13-inch baking dish (or similar size). Press it down gently to create an even surface—this helps with the crispy topping later. The dish should be about ¾ full of mac and cheese. Sprinkle the ½ tsp garlic powder evenly over the top for extra flavor depth.
Create the Crispy Double-Baked Topping
Preheat your oven to 375°F. In a small bowl, mix together the ½ cup panko breadcrumbs and 1 tbsp extra-virgin olive oil until evenly combined. This mixture is what will give your mac and cheese that coveted crispy top. Spread it evenly over the entire surface of the macaroni and cheese, pressing down lightly with the back of a spoon to ensure good contact.
Bake for 20-25 minutes until the top is deep golden brown and the edges are bubbling. The center should still be gooey—this is what makes baked mac and cheese so irresistible. If the top browns too quickly, tent it loosely with aluminum foil for the last 5-10 minutes of baking.
Rest and Serve for Maximum Satisfaction
Remove the macaroni and cheese from the oven and let it rest for 10-15 minutes before serving. This resting period allows the cheese to set slightly and makes it easier to slice. The contrast between the crispy, golden top and the creamy, cheesy interior is what makes this recipe truly special.
Slice into 6 equal portions (since this recipe serves 6) and serve immediately. The first bite should deliver that perfect combination of crispy, chewy, and gooey textures with rich, cheesy flavor in every mouthful. Leftovers? Reheat covered in the oven at 350°F for 10-15 minutes to restore that crispy top.
Pro Tips For Making Baked Macaroni And Cheese Recipe From Scratch
- Cook Pasta Al Dente: Mac and cheese isn’t about mushy noodles—pull the elbow pasta when it’s just firm to the bite (about 1 minute less than package instructions). It’ll keep cooking in the oven, and you’ll avoid that sad, gluey texture that ruins everything. (Yes, I’ve learned this the hard way.)
- Melt Cheese Slowly: Don’t dump shredded cheddar into the sauce and stir—it clumps like a science experiment gone wrong. Instead, whisk in a splash of cold milk first to temper the cheese, then add it gradually while stirring like you’re mixing paint. Smooth sauce every time.
- Salt the Water Like the Sea: The pasta water is your secret weapon—add 2 tablespoons of salt to the boiling pot (that’s way more than you think). The starch and flavor will carry over into the cheese sauce, making it richer without extra seasoning. Trust me, your taste buds will notice.
- Bake Under Foil First: Skip the pre-bake step and just toss the casserole into a 375°F (190°C) oven covered with foil for 20 minutes. This locks in moisture so the top doesn’t dry out or burn while you’re waiting for the cheese to fully melt. (Your future self will thank you.)
Common mistakes when making perfect results
Overcooking the Pasta
Cooking pasta to perfection is critical—overcooking turns it mushy and waterlogged, which ruins the texture. I’ve seen this happen when people follow package instructions exactly, but elbow macaroni needs that al dente finish.
Test it by tasting a piece: it should have a slight bite, not be completely soft. The 1-minute less rule is your friend here—trust me, it makes all the difference. 🍝
Skipping the Roux
The roux is the backbone of a velvety cheese sauce, and skipping it or rushing through it leads to a grainy, lumpy mess. Many shortcut recipes use powdered cheese or pre-made sauce, but nothing compares to a proper butter-flour roux cooked until pale and nutty.
Take your time whisking that flour into the butter—this is where the magic happens. If you’re in a hurry, at least make the roux a day ahead and store it in the fridge.
Underestimating Cheese Melting
Adding cold cheese straight to the sauce without warming it first creates clumps that won’t melt smoothly. Always cut your cheese into small pieces and warm it slightly before mixing—this ensures a silky, lump-free sauce.
I like to place the shredded cheese in a bowl over simmering water for 2-3 minutes before adding it to the sauce. This step is non-negotiable for that restaurant-quality texture. 🧀
Uneven Baking
Baking mac and cheese at too high a temperature causes the top to burn before the center gets creamy. 375°F is the sweet spot—any hotter, and you’ll end up with a sad, dry top.
If your oven runs hot, tent the dish with foil for the last 5-10 minutes of baking. And for the love of cheesy goodness, don’t skip the double-bake! The first bake sets the cheese, while the second creates that crispy crust.
Ignoring the Resting Time
Cutting into mac and cheese right out of the oven is tempting, but it’s a recipe for disaster. The cheese needs 10-15 minutes to firm up slightly—this makes it easier to slice and prevents a runny mess.
I’ve seen people serve it immediately, only to have it slide right off the plate. Patience here pays off in the best way possible. ✨
Using Wrong Breadcrumbs
Not all breadcrumbs are created equal. Panko is your best bet for a crispy, shatterable top, but regular breadcrumbs or crushed crackers won’t give the same texture. If you’re out of panko, toast regular breadcrumbs in a dry pan for 3-5 minutes to crisp them up.
And don’t skip the olive oil—it helps the breadcrumbs stick and brown beautifully. A dry topping equals a sad, crumbly mess.
Nutrition facts
Frequently asked questions
Can I make this baked mac and cheese in a smaller or larger dish?
Yes, but adjust the baking time and temperature. For a 9x9-inch dish, bake at 375°F for 25-30 minutes—the smaller surface area means it needs more time to crisp. For larger dishes like 11x15-inch, reduce the oven temp to 350°F and bake for 30-35 minutes to prevent uneven cooking. Always check for doneness at the lower end of the time range.
What if I don't have Gruyère cheese?
No problem! Replace it with 1 cup extra sharp cheddar or ½ cup Parmesan plus ½ cup white cheddar. The Gruyère adds nutty depth, but these substitutes still create a rich, flavorful sauce. If using Parmesan, reduce the salt slightly since it's more concentrated. The texture will be slightly different but still delicious.
Can I add vegetables to this recipe?
Try ½ cup finely chopped broccoli or peas cooked until tender-crisp, or ½ cup diced ham for a savory twist. Stir them into the cheese sauce before combining with pasta. For veggies, add them to the boiling pasta water for 2-3 minutes before draining. Just reduce the pasta slightly (to 1.25 lb) to maintain the proper texture ratio.
Why did my mac and cheese get watery after baking?
This usually happens from one of three issues: overcooking the pasta (releases too much starch), not enough cheese to bind the moisture, or baking at too low a temperature. For future batches, use al dente pasta, ensure you have enough cheese (this recipe's ratio is perfect), and bake at 375°F. If it still happens, try adding 1 tbsp cornstarch mixed with 1 tbsp cold water to the cheese sauce before baking.
How do I make this gluten-free?
Use gluten-free elbow macaroni (like Barilla or Jovial) and replace the flour in the roux with ¼ cup gluten-free all-purpose flour blend. For the breadcrumb topping, use gluten-free panko or crushed gluten-free crackers. The texture will be slightly different but still delicious. Test the pasta first—some gluten-free pastas need 1-2 minutes less cooking time to reach al dente.
