The BEST Homemade Baked Mac and Cheese
Three-cheese baked mac with a creamy roux-based sauce and a crunchy Panko-Parmesan topping.
Adapted from Mom On Timeout
Ingredients
- 16 oz elbow macaroni (or other tubular pasta)
- 1 tbsp extra virgin olive oil
- 6 tbsp unsalted butter
- 0.33 cup all-purpose flour
- 3 cups whole milk
- 1 cup heavy whipping cream
- 4 cups sharp cheddar cheese, shredded from a block
- 2 cups Gruyere cheese, shredded from a block
- 1 tsp salt and pepper, to taste (to taste)
- 1.5 cups panko crumbs
- 4 tbsp butter, melted (for topping)
- 0.5 cup Parmesan cheese, shredded
- 0.25 tsp smoked paprika (or regular paprika) (to taste)
Steps
- Preheat oven to 350°F. Lightly grease a large 3- or 4-quart baking dish and set aside. Combine the shredded cheddar and Gruyere in a large bowl and set aside.
- Cook the pasta one minute shy of al dente, per package instructions. Drain and transfer to a large bowl. Drizzle with the olive oil and stir to coat — this keeps it from clumping while you make the sauce.
- Make the roux. Melt 6 tbsp butter in a deep saucepan, Dutch oven, or stock pot. Whisk in the flour over medium heat and keep whisking about 1 minute, until bubbly and golden.
- Build the sauce. Gradually whisk in the milk and heavy cream until smooth. Keep whisking until you see bubbles on the surface, then cook and whisk another 2 minutes. Whisk in salt and pepper.
- Add the cheese. Whisk in 2 cups of the shredded cheese mixture until smooth. Add another 2 cups and keep whisking until creamy and smooth. Sauce should be nice and thick. (Reserve the remaining 2 cups for layering.)
- Combine. Stir the cooled pasta into the cheese sauce until fully coated.
- Layer. Pour half of the mac and cheese into the prepared baking dish. Top with the reserved 2 cups of shredded cheese, then the remaining mac and cheese.
- Top. In a small bowl, combine the panko, Parmesan, melted butter, and paprika. Sprinkle over the top.
- Bake about 30 minutes, until bubbly and golden brown. Serve immediately.
Notes
Always shred your own cheese. Pre-shredded cheese is coated with anti-caking starch and won’t melt smoothly — it’ll make the sauce grainy.
Slightly undercook the pasta. It keeps cooking in the oven, so one minute shy of al dente prevents mushy noodles.
Cold milk into the roux. Whisking cold (not warm) milk into the bubbling roux prevents the flour from clumping.
Cheese substitutions. If you can’t find Gruyere, Jarlsberg Swiss is the closest swap. Mozzarella, Monterey Jack, pepper jack, American, or even a little Velveeta also work — the recipe uses 6 cups of cheese total, so feel free to mix.
Any tubular pasta works in place of elbows — cavatappi, penne, ziti, shells.
My Notes
(your own tweaks go here — family fave, per Brit)