Homemade Mac and Cheese from Scratch — The Creamiest Recipe You’ll Ever Make

This recipe uses a proper béchamel base, a carefully chosen three-cheese blend, and a handful of flavor-building techniques that transform simple ingredients into something that tastes like it came from a seriously good restaurant kitchen. No processed cheese slices. No powdered flavoring. No shortcuts that compromise the result.

Just pure, honest, velvety homemade mac and cheese — the way it’s supposed to taste. Whether you serve it stovetop (silky and saucy) or baked with a golden panko crust, this is the only mac and cheese recipe you’ll ever need.

Homemade Mac and Cheese from Scratch — The Creamiest Recipe You’ll Ever Make

Recipe by MadelynCourse: Main Course / Side DishCuisine: AmericanDifficulty: Easy
Servings

6

servings
Prep time

15

minutes
Cooking time

25

minutes
Calories

580

kcal

Ingredients

  • For the Mac and Cheese
  • 1 lb (450g) elbow macaroni (or cavatappi, shells, or rigatoni)

  • 4 tablespoons (57g) unsalted butter

  • ¼ cup (30g) all-purpose flour

  • 3 cups (720ml) whole milk, warmed

  • 1 cup (240ml) heavy cream

  • 2 cups (200g) sharp cheddar, freshly grated

  • 1 cup (100g) Gruyère, freshly grated

  • ½ cup (120g) cream cheese, softened and cubed

  • 1 teaspoon Dijon mustard

  • ½ teaspoon garlic powder

  • ¼ teaspoon smoked paprika

  • ¼ teaspoon cayenne pepper (adjust to taste)

  • Salt and white pepper to taste

  • 1 cup reserved pasta water

  • For the Baked Topping (Optional)
  • ½ cup (40g) panko breadcrumbs

  • 2 tablespoons melted butter

  • ¼ cup (25g) freshly grated Parmesan

  • ½ teaspoon smoked paprika

Directions

  • Step 1 — Salt Your Water Generously
  • Bring a large pot of water to a boil. Salt it heavily — it should taste like mild seawater. Cook macaroni until 2 minutes shy of al dente. Before draining, reserve 1 full cup of the starchy pasta water. Drain but do not rinse.
  • Step 2 — Make the Roux
  • In a large heavy-bottomed saucepan over medium heat, melt the butter until foaming. Add flour all at once and whisk constantly for exactly 2 minutes. The roux should turn a pale golden color and smell lightly nutty. This cooking time removes the raw flour taste — don’t rush it.
  • Step 3 — Build the Béchamel
  • With the pan still over medium heat, add the warmed milk in a slow, steady stream while whisking constantly. Once all the milk is in, add the heavy cream. Continue whisking and cooking for 5–7 minutes until the sauce is thick enough to coat the back of a spoon. When you draw a finger across the coated spoon and the line holds clearly, the béchamel is ready.
  • Step 4 — Season the Sauce
  • Remove from heat. Stir in Dijon mustard, garlic powder, smoked paprika, cayenne, salt, and white pepper. Taste and adjust — the sauce should be well-seasoned at this stage since the pasta will dilute the flavors slightly.
  • Step 5 — Add the Cheese
  • Keep the pan off the heat or on the very lowest setting. Add the cream cheese first, stirring until fully melted. Then add the cheddar and Gruyère in three separate additions, stirring until fully melted between each. The sauce will become deeply glossy and smooth. Never return to high heat once the cheese is in.
  • Step 6 — Combine and Serve
  • Add the drained macaroni to the cheese sauce and fold to coat every noodle. If the sauce feels too thick, add reserved pasta water a splash at a time. Taste for seasoning, adjust, and serve immediately in warm bowls.

Notes

  • For an even crunchier topping, broil for the final 2–3 minutes. Watch closely — it goes from golden to burned very quickly.

Baked Mac and Cheese Method

The baked version adds a golden, crunchy panko crust that contrasts beautifully with the creamy interior. The technique is identical to the stovetop version — only the final step changes.

  1. Preheat oven to 375°F (190°C) and butter a 9×13-inch baking dish.
  2. Complete the stovetop recipe through Step 6 — but keep the sauce slightly looser than you normally would by adding an extra splash of pasta water. It will thicken further in the oven.
  3. Transfer the mac and cheese to the prepared baking dish.
  4. Mix panko breadcrumbs, melted butter, Parmesan, and smoked paprika in a small bowl. Spread evenly over the top.
  5. Bake uncovered for 20–25 minutes until the topping is deep golden and the edges are bubbling.
  6. Let rest 5 minutes before serving — the sauce settles and portions more cleanly.

Why This Recipe Works

The Roux — The Foundation of Everything

A properly made roux (butter + flour cooked together) gives this mac and cheese its body. It creates a sauce that is thick, glossy, and stable — one that clings to every curve of every noodle rather than pooling at the bottom of the bowl. Skip the roux and you get a thin, greasy sauce that separates on contact with the pasta.

Warm Milk — Not Cold

Adding cold milk to a hot roux creates lumps instantly. Warmed milk blends in seamlessly, producing a silky béchamel in minutes. This single step separates consistently smooth homemade mac and cheese from the lumpy kind.

The Three-Cheese Strategy

No single cheese does everything well. Cheddar brings sharpness and flavor; Gruyère adds nuttiness and smooth meltability; cream cheese contributes body and that unmistakable silky richness that makes the sauce feel luxurious. Together they create a depth of flavor that single-cheese versions simply cannot achieve.

Undercook the Pasta

Cooking the pasta 2 minutes shy of al dente and finishing it in the sauce means the noodles absorb the cheese sauce rather than just sitting in it. The result is mac and cheese where every bite has cheese all the way through — not just coating the outside.

Never Boil the Cheese Sauce

High heat causes cheese proteins to seize and fat to separate, producing a grainy, oily sauce. Once the cheese goes in, the heat goes off. Patience at this stage is what keeps the sauce perfectly smooth.

The Cheese Guide — What to Use and Why

CheeseRoleFlavorMeltabilityBest Substitute
Sharp CheddarPrimary flavorTangy, boldGoodExtra sharp cheddar, Colby
GruyèreSmoothness + nuttinessNutty, complexExcellentEmmental, Comté, Fontina
Cream CheeseSilky bodyMild, creamyExcellentMascarpone
Parmesan (topping only)Flavor punch on crustSharp, saltyGood (surface)Pecorino Romano

One rule above all: Always grate your own cheese from a block. Pre-shredded cheese contains cellulose and anti-caking agents that prevent smooth melting and make sauces gritty. Freshly grated cheese melts in seconds and produces a flawless sauce every single time.

Pro Tips for Maximum Creaminess

  • 🧀 Grate your own cheese — pre-shredded cheese contains anti-caking agents that make sauces gritty. Always grate from a block for a flawlessly smooth sauce.
  • 🥛 Warm the milk before adding — cold milk hits a hot roux and creates lumps instantly. Microwave for 60 seconds first.
  • 🍝 Undercook the pasta by 2 minutes — it finishes in the sauce, absorbing cheese flavor all the way through.
  • 💧 Always reserve pasta water — the starch helps bind and loosen the sauce simultaneously. Reserve a full cup every time.
  • 🔥 Low heat for cheese melting — once cheese goes in, high heat is the enemy. Keep it gentle and patient.
  • 🥣 Add cheese in three batches — adding all at once can shock the sauce. Three patient additions produce a flawlessly smooth result.
  • 🧈 Don’t skip the cream cheese — it adds the silky, restaurant-quality body that makes this sauce extraordinary.
  • 🌶️ Season bolder than you think — the pasta dilutes the sauce flavor. The béchamel should taste almost over-seasoned before the pasta goes in.

Variations and Add-Ins

VariationWhat to Add or ChangeResult
Bacon MacFold in ¾ cup crispy crumbled baconSmoky, salty, universally loved
Lobster Mac1½ cups cooked lobster + Fontina + splash of dry sherryRestaurant showstopper
Buffalo Chicken2 cups shredded chicken tossed in buffalo sauceSpicy, bold, crowd-pleaser
Truffle Mac1 tsp truffle oil stirred in at the endLuxurious and deeply savory
Roasted BroccoliFold in roasted florets before servingTexture contrast, great nutrition
Smoky MacSwap cheddar for smoked cheddar + smoked GoudaDeep, campfire-like richness
Jalapeño Mac2 roasted diced jalapeños + pepper jack cheeseSpicy kick, great heat balance
Dairy-freeOat milk + dairy-free butter + dairy-free cheddarStill creamy and satisfying

Storage and Reheating Guide

MethodDurationBest Reheating ApproachNotes
Refrigerator (covered)Up to 4 daysStovetop with splash of milk, low heat, stirring constantlyAlways add milk — pasta absorbs sauce as it sits
Freezer (airtight)Up to 3 monthsThaw overnight in fridge, reheat on stovetop with milkBaked version freezes best
Microwave (single serving)Same day50% power, 60-second intervals, stir between eachNever full power — breaks the sauce
Baked version (fridge)Up to 4 daysOven at 350°F, covered foil 20 min, uncover last 5 minTopping stays crispier than stovetop reheat

Stovetop vs Baked — Side by Side

FeatureStovetopBaked
TextureSilky, saucy, ultra-creamyCreamy inside, crispy golden crust
Total time~35 minutes~60 minutes
Best servedImmediately5 minutes after oven
Make-aheadModerateExcellent
Feeds a crowdGoodExcellent — holds shape when portioned
Reheats wellWith milk on stovetopExcellently in oven
Wow factor⭐⭐⭐⭐⭐⭐⭐⭐⭐

Verdict: For weeknight dinners, go stovetop — it’s faster and impossibly creamy. For entertaining or feeding a crowd, bake it. Both versions use the exact same base recipe.

Nutrition Information

Per serving (based on 6 servings). Values are approximate and vary by ingredients used.

NutrientPer Serving
Calories~580 kcal
Total Fat~28g
Saturated Fat~16g
Carbohydrates~58g
Sugar~5g
Protein~24g
Fiber~2g
Sodium~620mg

Mac and Cheese Myths Busted

❌ Myth: Pre-shredded cheese is fine to use.
Pre-shredded cheese is coated with cellulose and potato starch to prevent clumping in the bag. These same coatings prevent it from melting smoothly into a sauce. The result is a gritty, grainy texture. Always grate from a block — no exceptions.

❌ Myth: More cheese always means more flavor.
Adding too much cheese relative to the béchamel base creates a heavy, claggy sauce that breaks and turns oily. The ratio matters. This recipe’s balance of béchamel to cheese produces the optimal creamy, saucy consistency.

❌ Myth: You need American cheese or Velveeta for creamy mac and cheese.
American cheese contains emulsifying salts that prevent separation — which is why it’s used commercially. But cream cheese achieves almost the same stabilizing effect naturally, with far better flavor. You don’t need processed cheese for a perfectly smooth sauce.

❌ Myth: Rinsing pasta after cooking is fine.
Rinsing removes the starch coating from the pasta surface — the very starch that helps sauce cling to and absorb into every noodle. Rinsed pasta sits in the sauce rather than becoming part of it. Never rinse pasta for mac and cheese.

Frequently Asked Questions

Why is my mac and cheese sauce grainy?

Grainy sauce is almost always caused by using pre-shredded cheese, adding cheese over too-high heat, or adding all the cheese at once. Use freshly grated cheese, keep the heat very low once cheese goes in, and add it in three separate batches, stirring fully between each.

Can I make this ahead of time?

Yes — the baked version is ideal for making ahead. Assemble completely without baking, cover tightly, and refrigerate up to 24 hours. Add the breadcrumb topping just before baking and add 5–10 minutes to the bake time since it goes in cold.

What’s the best pasta shape for mac and cheese?

Elbow macaroni is classic and works perfectly. Cavatappi and medium shells hold even more sauce and are excellent alternatives. For baked versions, shells are particularly good because sauce pools inside each one. Avoid long pasta shapes — they don’t hold sauce as effectively.

Can I use low-fat milk instead of whole milk?

You can, but the sauce will be less creamy and more prone to breaking. Whole milk and heavy cream provide the fat content that keeps the emulsion stable. If reducing fat, use 2% milk but keep all the cream.

How do I keep mac and cheese creamy for a party or potluck?

Keep it in a slow cooker on the u0022warmu0022 setting. Add a splash of whole milk every 30–45 minutes and stir gently. This prevents the sauce from drying out or developing a skin.

Can I make this gluten-free?

Yes — substitute the all-purpose flour with a 1:1 gluten-free flour blend for the roux, and use your preferred gluten-free pasta. The sauce technique remains identical. Watch the pasta cook time carefully — GF pasta can get mushy quickly.

Why does my mac and cheese get dry when reheated?

The pasta continues absorbing sauce as it cools. Always add 2–3 tablespoons of whole milk per serving before reheating, and use low heat while stirring constantly. Never microwave on full power — it causes the sauce to separate.

Recipe: Homemade Mac and Cheese from Scratch | Yield: 6 servings | Prep: 15 min | Cook: 25 min | Total: ~40 min

Share your love