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

  • Hi Jen – I want to make this and I see that you use nonstick pots. Is that a necessity, or can I use stainless steel or Dutch oven? Thanks, as always for your perfect recipes!

    • — Monica on September 12, 2024
    • Reply
    • Hi Monica, Stainless or a Dutch oven should be fine. Enjoy!

  • Is the cook time different if you cut the recipe in half and bake in an 8×8 or 9×9 pan?

    • — Cara on September 2, 2024
    • Reply
    • Hi Cara, if you use an 8-inch square pan, the baking time should be about the same. Enjoy!

  • I made this recipe but couldn’t afford the large quantity of gruyere it called for, so I substituted another cheese. Since the gruyere would have made a whole different dish my review isn’t really valid, but I did use the Panko crumbs on top and follow the rest of the recipe and it was very good!

    • — Lynners on August 29, 2024
    • Reply
  • Hi Jenn,
    I’m a bit confused by the pan size. The recipe instructions say to butter a 9×13 pan but in the comments people are talking about 8×8 and 9×9 pans. Which size is correct for 16oz of pasta and the amount of cheese sauce in this recipe?
    Thank you,
    Joyce

    • — Joyce Dalessi on August 9, 2024
    • Reply
    • Hi Joyce, sorry for any confusion! I recently updated the recipe to make twice the amount so it now requires a 9 x 13-inch baking dish. (Everyone was always doubling it, so I figured I’d make it easy on everyone and update the recipe.) Hope that clarifies!

      • Thank you! Based on the amount of sauce I figured it was a 9×13 pan but wanted to confirm to be sure.

        • — Joyce Dalessi on August 11, 2024
        • Reply
  • Great recipe! Did u double it though? I had a printed copy that I’ve used for years and since lost and I think the quantities were different

    • — Susan Dufton on August 4, 2024
    • Reply
    • Yep, everyone was always doubling the recipe so I figured I’d make it easy on everyone and update the recipe to serve more. 🙂

  • This has been my go-to Mac and cheese for a few years now. Love the ratio of sauce to pasta. I add Tbsp or so of Dijon to the sauce for a bit more sharpness, and 1/4 tsp cayenne. Whenever I make it, I put about 1/4 to a third of the mixture in a smaller casserole dish to freeze, unbaked. My youngest loves Mac and cheese, so it’s nice to have a little stash available in the freezer for a quick but favorite meal for him.

    • — Nicole K on July 16, 2024
    • Reply
  • Hi Jenn,

    I made this recipe as written, however I used more tasty cheese than Gruyere because that’s what I had, but still the same amount of cheese in grams all up. The sauce didn’t thicken after stirring for quite some time – longer than the 2 minutes suggested. It was definitely more on the milky side as opposed to the creamy side. I’ve made other cheese sauces where the ratio of flour to milk is higher. What do you think may have happened with my cheese sauce not thickening? Nicole

    • — Nicole on July 7, 2024
    • Reply
    • Hi Nicole, I’m sorry you had a problem with the sauce. What kind of cheese did you use?

      • — Jenn on July 8, 2024
      • Reply
  • Another comment for this being too bland. I suppose it works well as an option for a side instead of mashed potatoes. Disappointing because Gruyere is so expensive. I liked that there was an abundance of sauce. It just wasn’t very good though.

    • — Lara on July 2, 2024
    • Reply
    • Yummy, add a Smokey flavored cheese. My Mac-n-cheese is always different because I work with cheese that’s on sale or on hand. But I wanted a good base recipe. This is it! Hey you can always add bacon . Who doesn’t tweak a recipe here and there Thanks Jenn

      • — Jill on July 4, 2024
      • Reply
  • can gluten free macaroni work?

    • — Janet McCracken on July 1, 2024
    • Reply
    • Sure – enjoy!

      • — Jenn on July 1, 2024
      • Reply

Add a Comment

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