Mac and Cheese

Tested & Perfected Recipes

This post may contain affiliate links. Read my full disclosure policy.

Ultra-creamy with a blend of three cheeses and topped with golden, crispy panko, this homemade mac and cheese is second to none.

mac and cheese in baking dish with serving spoon

Great homemade mac and cheese starts with al dente noodles—the kind with lots of crevices, like elbow macaroni or cavatappi—and a rich sauce made from butter, flour, milk, and heaps of good-quality shredded cheese. The noodles are tossed with the cheesy sauce, spread in a baking dish, topped with crispy breadcrumbs, and baked until bubbling and golden. Since many homemade mac and cheese recipes tend to be a bit dry, I developed this version to be ultra-creamy. The crispy panko and herb topping, inspired by a “fancy” mac and cheese I enjoyed at a restaurant, truly makes the dish!

“I took it to a dinner party last night and it was an absolute hit with all of the adults and children. Gone in minutes and I doubled the recipe!”

K.L.

What You’ll Need To Make Homemade Mac and Cheese

ingredients to make mac and cheese
  • Macaroni, cavatappi, or penne pasta: Elbow macaroni is traditional, but any pasta with lots of nooks and crannies to hold the creamy cheese sauce will work beautifully.
  • Unsalted butter: Creates the base of the roux and adds richness to the sauce; also used to grease the pan.
  • All-purpose flour: Thickens the sauce to give it that perfect creamy texture.
  • Whole milk: The liquid base of the cheese sauce, adding creaminess and richness.
  • Gruyère, extra-sharp Cheddar, and Parmigiano-Reggiano: A combination of these three cheeses adds depth and dimension. Gruyère brings a nutty flavor, Cheddar adds sharpness, and Parmigiano-Reggiano contributes a salty, umami kick.
  • Nutmeg: Adds a subtle warmth and enhances the overall flavor of the cheese sauce.
  • Panko bread crumbs: Gives the topping a nice crunch and golden brown finish.
  • Herbes de Provence or dried thyme: Adds depth of flavor and an herbal note that complements the rich cheese sauce.
  • Jump to the printable recipe for precise measurements

Step-by-Step Instructions

Step 1: Boil the Noodles

Bring a large pot of salted water to a boil. Add the pasta and cook until al dente, or just slightly underdone. (It will continue to cook in the oven so you don’t want it fully cooked.) Drain well and rinse with cold water.

drained noodles in colander

Step 2: Make the Cheese Sauce

Meanwhile, melt 3 tablespoons of the butter in a medium (2-quart) pot over low heat and add the flour. Stir with a whisk until the flour is combined. This mixture is called a roux. Continue cooking, whisking constantly, for 2 minutes. The roux will look foamy.

whisking roux in Dutch oven

While whisking constantly, pour in the milk. Bring to a boil, then reduce the heat to low and cook for a few minutes more, until thickened and smooth. This French “mother sauce” is known as béchamel, or a sauce made from a white roux and milk.

bechamel sauce for mac and cheese

Off the heat, add the Gruyere, Cheddar, 1/4 cup Parmigiano-Reggiano, salt, pepper, and nutmeg.

mac and cheese sauce with cheese and spices added

Whisk until the cheese is completely melted; if necessary, place the pan back over low heat but do not boil. The finished cheese sauce is known as Mornay sauce, or a béchamel sauce to which shredded or grated cheese is added.

mornay sauce for mac and cheese

Step 3: Combine the Noodles with the Sauce

Add the cooked pasta to the sauce.

noodles combined with cheese sauce in Dutch oven

Stir to combine. It will seem way too soupy and creamy – that’s okay, that’s what you want! Pour into a buttered 2-quart baking dish and set aside.

noodles and sauce in baking dish

Step 4: Prepare the Crispy Topping

In a small sauté pan over medium heat, melt the remaining butter and add the panko. Cook, stirring often, until golden brown, and then stir in the herbes de Provence or thyme. This step of browning the panko may seem unnecessary—you’d think it would brown in the oven—but I find it needs a head start on the stove to get really golden and crispy.

golden brown panko topping in skillet

Sprinkle the toasted panko over the pasta and cheese sauce, followed by the remaining 2 tablespoons Parmigiano-Reggiano.

mac and cheese ready to bake

Step 5: Bake

Bake for 25 to 30 minutes, or until bubbly and golden brown.

baked mac and cheese

Serve warm out of the oven and enjoy.

mac and cheese in bowls

Video Tutorial

You May Also Like

Mac and Cheese

Ultra-creamy with a blend of three cheeses and topped with golden, crispy panko, this homemade mac and cheese is second to none.

Servings: 6 to 8
Prep Time: 30 Minutes
Cook Time: 30 Minutes
Total Time: 1 Hour

Ingredients

  • 1 pound (16 ounces) macaroni, cavatappi or penne pasta
  • 1 stick (½ cup) unsalted butter, divided, plus more for greasing the pan
  • ½ cup all-purpose flour
  • 5 cups whole milk
  • 12 ounces Gruyere, shredded (about 4 cups)
  • 8 ounces extra-sharp Cheddar, shredded (about 2 cups)
  • ⅔ cup grated Parmigiano-Reggiano
  • 1 teaspoon salt, plus more for the pasta water
  • ½ teaspoon ground black pepper
  • ¼ teaspoon ground nutmeg
  • 1 cup panko bread crumbs
  • 1 teaspoon herbes de Provence or dried thyme

Instructions

  1. Preheat the oven to 375°F and set an oven rack in the middle position. Grease a 9x13-inch baking dish with butter.
  2. Bring a large pot of salted water to a boil. Add the pasta and cook until al dente, or just slightly underdone. (It will continue to cook in the oven so you don't want it fully cooked.) Drain the pasta and rinse it with cold water.
  3. Meanwhile, melt 6 tablespoons of the butter in a medium pot over low heat. Add the flour and cook for 2 minutes, stirring with a whisk. While whisking, gradually add the milk. Bring to a boil, then reduce the heat to low and cook, uncovered, for a few minutes more, until thickened and smooth. Off the heat, whisk in the Gruyere, Cheddar, ½ cup Parmigiano-Reggiano, salt, pepper, and nutmeg. (If the cheese doesn't fully melt off the heat, it's okay to place the pan back over low heat, but do not let the sauce boil.) Add the cooked pasta and stir well. It will be very soupy; that's good. Pour into the prepared baking dish and set aside.
  4. In a small skillet over medium heat, melt the remaining 2 tablespoons butter. Add the panko and cook, stirring often, until golden brown. Stir in the herbes de Provence or thyme. Sprinkle the toasted panko mixture over the pasta and cheese sauce, followed by the remaining tablespoon Parmigiano-Reggiano. Bake for 30 to 35 minutes, or until bubbly and golden brown.
  5. Note: To reheat leftovers, cover with aluminum foil and warm in a 300°F oven. Do not microwave.
  6. Freezer-Friendly Instructions: This can be frozen unbaked for up to 3 months. When you’re ready to cook it, defrost in the refrigerator for 24 hours, then proceed with the baking instructions in the recipe.

Pair with

Nutrition Information

Powered by Edamam

  • Per serving (8 servings)
  • Calories: 807
  • Fat: 45 g
  • Saturated fat: 26 g
  • Carbohydrates: 62 g
  • Sugar: 10 g
  • Fiber: 2 g
  • Protein: 38 g
  • Sodium: 760 mg
  • Cholesterol: 130 mg

This website is written and produced for informational purposes only. I am not a certified nutritionist and the nutritional data on this site has not been evaluated or approved by a nutritionist or the Food and Drug Administration. Nutritional information is offered as a courtesy and should not be construed as a guarantee. The data is calculated through an online nutritional calculator, Edamam.com. Although I do my best to provide accurate nutritional information, these figures should be considered estimates only. Varying factors such as product types or brands purchased, natural fluctuations in fresh produce, and the way ingredients are processed change the effective nutritional information in any given recipe. Furthermore, different online calculators provide different results depending on their own nutrition fact sources and algorithms. To obtain the most accurate nutritional information in a given recipe, you should calculate the nutritional information with the actual ingredients used in your recipe, using your preferred nutrition calculator.

See more recipes:

Comments

  • This mac and cheese is easy and delicious. It adapts well to the ingredients you have on hand. (I had sharp cheddar and a Mexican cheese blend.) Also, I used 2% milk and it was very creamy. I think toasting the bread crumbs was a great idea. The thyme was a nice touch. My husband loved it! Thank you for another successful recipe.

  • Delicious!

  • Hi Jenn. Just wondering- the measurement for the parmigiano reggianno is that with the cheese grated fine or coarse?
    Thankyou

    • Hi Dana, I used coarse. Hope you enjoy! 🙂

  • Haven’t made this yet, but am wondering if skim milk would work? Has anyone tried it?
    Thank you!

    • Hi Sue, technically skim milk will work but it won’t be nearly as creamy. If you feel comfortable using 2 percent milk, I would encourage that. Hope that helps!

  • Your recipe sounds great, however whenever I have to melt butter and whisk in the flour, it turns really lumpy, especially after I add in the milk and I can never get it looking like yours. What am I doing wrong?

    • Hi Jessie, The key to adding to getting a white sauce that isn’t lumpy is to add the milk very slowly. I always start out by adding about a quarter of the milk and whisking it constantly until all of the lumps are gone. And after that, I continue to add it slowly. Also, a flat whisk (like the one I have in the picture) really helps as it allows you to get into the corners of the pan. Hope that helps!

    • I learned from a chef on the television that you should always add in warm milk to a roux and never cold milk to avoid lumps.

      • For Jessie, re: the lumpy roux issue. I agree with the other comments, and also find it helpful after whisking in the flour, to pull the pan off the heat and then whisk in the first half to three quarters cup of the milk. Use a whisk if possible. When that first addition of milk has ‘loosened’ the roux, I return it to the heat and continue whisking in the balance of the milk.

  • Delicious! I followed the recipe almost exactly, except I used thyme. I tasted it prior to baking it and I was like – it’s ok… but then after baking it for 30 minutes and tasting it with the baked butter/bread/parmesan/thyme topping – YUM! Next time I will try it with the Herbes de Provence. I made it for my son’s 12th birthday as he says homemade Mac n Cheese is the best. He loved it too!

  • We loved it, but I have to admit that I had to change the recipe a little due to my own stupidity. While shopping I bought way more cheddar cheese than needed and I couldn’t find Gouda so I bought Jarlsberg, and I bought too little of that, so my cheese ratios were backwards and the types weren’t per the recipe. I gave the recipe five stars because it was delicious as I made it, and is most likely better if you actually follow the recipe. I guess the bottom line is the recipe appears to be a little flexible cheese-wise if you need to made some substitutions.

    • I can’t find Gruyere where I live, can I just use cheddar?

  • I was looking for a mac n cheese recipe worth repeating and this is it. I’ve made it several times now and it has turned out every time. The mix of gruyere and cheddar is delicious and I love the panko topping. I actually have frozen leftovers in individual servings and they reheat fine. I make sure it’s thawed first and then reheat in the oven and the topping turns out crispy. This is my favorite homemade mac n cheese.

  • Can this recipe be doubled for a larger crowd?

    • Sure, Kim. I’d cook it in a 9×13-inch dish. And be sure to increase the cooking time to 30-35 min. Enjoy!

  • This dish turned out fantastic! I think this is my new go to mac n’ cheese. I followed the directions exactly and it was delicious. The mix of the gruyere and cheddar was great with the touch of parmesan-reggiano. It also reheated well, I did about a minute or so in the microwave and then a few in the oven to get the bread crumbs nice and crunchy. Can’t wait to make it again.

    • I saved this to my paprika recipe collection so I will be making it agin. I made this for a Christmas gift. However, I will use 2 cups of milk, 1/2 tsp more salt, 1/4 tsp more pepper (white), and more of a stronger cheddar Cheese… I make a white sauce And like to have browned butter and then cool the roux, and add the milk a bit at a time with whisking in between each addition. I never bother to warm, the milk—cooking is such an individual sport. Lol

      Also I would like to have the recipe state that it really need to stress the al dente for freezing before baking and to not cook it before freezing for eating later And there’s nowhere in the instructions about freezing to not add the Panko topping. I need that information up top… like if not baking it right away, don’t add the Panko topping.

      I’ll be trying it again.

Add a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.