Baked Mac and Cheese From a Real Bechamel: Creamy, Never Grainy

10 min read

The boxed mix works because the powder is engineered not to fail. A real cheese sauce can fail, which is why most baked mac and cheese recipes either hedge with processed cheese or come out of the oven grainy, oily, or dry enough to cut with a knife.

None of those are the sauce’s fault, exactly. They are the result of three specific decisions made earlier: boiling the macaroni until it is done, making a sauce at the thickness you want to eat, and adding the cheese while the pot is still on the burner. Fix those three and a bechamel-based mac and cheese is genuinely easy.

This is the version I make when it is the main thing on the table rather than a side. It is a straightforward flour-and-butter-and-milk sauce with a lot of sharp cheddar in it, a crust of buttered breadcrumbs, and a pasta that is noticeably underdone when it goes into the dish.

Why This Works

The bechamel is made deliberately thin — about five cups of milk to a pound of pasta, loose enough to pour from the pot in a stream rather than fall off the spoon in a glob. That looks like a mistake. It is not: the macaroni came out of the water three minutes early and it will drink roughly a cup of that liquid in the oven. Sauce built to final thickness ends up as paste.

Ingredients

This fills a 9×13 dish or a 3-quart gratin. If you want a deeper, creamier result with less crust, use a 3-quart round dish instead and add 5 minutes to the covered bake.

For the Pasta

  • 1 pound dried elbow macaroni or cavatappi
  • 2 tablespoons kosher salt for the water

For the Bechamel

  • 6 tablespoons unsalted butter
  • 1/3 cup all-purpose flour
  • 5 cups whole milk, warmed
  • 2 teaspoons Dijon mustard
  • 1 teaspoon onion powder
  • 1/2 teaspoon freshly grated nutmeg
  • 1/4 teaspoon cayenne
  • 2 teaspoons kosher salt
  • 1/2 teaspoon white pepper

For the Cheese

  • 12 ounces sharp cheddar, grated from the block (about 3 cups)
  • 4 ounces Gruyere or aged Gouda, grated (about 1 cup)
  • 2 ounces Parmesan, grated (about 2/3 cup)

For the Topping

  • 1 1/2 cups panko breadcrumbs
  • 3 tablespoons unsalted butter, melted
  • 1/4 cup grated Parmesan
  • 1/2 teaspoon smoked paprika

Easy Swap

Cavatappi, medium shells, and large elbows all work. For the cheese, the sharp cheddar is doing the flavor and the Gruyere is doing the melt, so swap within those roles: aged Gouda, Comte, or Fontina for the Gruyere; a good orange sharp cheddar or a white Vermont cheddar for the base. What you cannot swap in is anything aged very hard, like Pecorino, as the only cheese — it has too little moisture to melt into a sauce.

How to Make It

Prep: 25 minutes  |  Bake: 35 minutes  |  Serves: 8 to 10

  1. Heat the oven to 375°F. Grate all the cheese and leave it in a bowl on the counter. Warm the milk in the microwave or a small saucepan until it is hot to the touch but not simmering.
  2. Bring a large pot of heavily salted water to a boil. Check the package time on the macaroni, subtract 3 minutes, and boil it for that long — for most elbows that is 4 minutes, which feels absurdly short. Drain and set aside. Do not rinse.
  3. Melt the 6 tablespoons butter in a large heavy pot over medium heat. Whisk in the flour and keep whisking for 2 minutes. It will foam and smell faintly like toast. Do not let it brown.
  4. Pour in about a cup of the warm milk, whisking hard until it is smooth, then add the rest in two or three additions. Bring it to a bare simmer and cook 6 to 8 minutes, whisking often, until it thickens just enough to coat the whisk. Stir in the Dijon, onion powder, nutmeg, cayenne, salt, and white pepper.
  5. Take the pot off the heat and wait until it stops bubbling. Then add the cheese in three handfuls, stirring each one until it disappears before adding the next. Hold back 1 cup of the cheddar for the top. The sauce should now pour from a ladle in a thin stream, like a thin gravy. If it does not, whisk in warm milk a quarter cup at a time until it does.
  6. Fold the drained macaroni into the sauce. It will look like far too much liquid for the amount of pasta. That is the correct amount of too much. Pour it into a buttered 9×13 dish.
  7. Scatter the reserved cup of cheddar over the top. Cover tightly with foil and bake 20 minutes.
  8. Toss the panko with the melted butter, Parmesan, and smoked paprika. Pull off the foil, scatter the crumbs evenly, and bake 12 to 15 minutes more until the crust is deep golden and the sauce is bubbling at the edges. Rest 10 minutes before serving.

Don’t Do This

Do not use bagged pre-shredded cheese. It is coated in potato starch or cellulose to keep the shreds separate, and that coating does exactly the same thing in your sauce — it keeps things separate. You get a sauce with a faint chalky body that never goes truly glossy. Grating a pound of cheese takes four minutes and it is the single biggest upgrade here.

Can You Make It the Night Before?

Yes — Assemble Up to 24 Hours Ahead

Assemble it through step 7, cover, and refrigerate up to 24 hours, but add an extra half cup of milk when you mix the pasta into the sauce — overnight is a long time for underdone pasta to drink. Keep the breadcrumb topping in a separate bag at room temperature and add it only for the last stretch of baking.

Let the dish sit out 45 minutes before it goes in the oven, then bake covered for 35 minutes instead of 20 before the crumbs go on. A cold pan of bechamel is dense and heats slowly, and the usual mistake is pulling it when the top looks right and the middle is still cool.

The sauce will look thick and set, almost like a custard, when you take the plastic off. That is normal for a flour-thickened sauce out of the refrigerator and it loosens as soon as it warms. What you should not do is stir it cold to check — you will break up the pasta.

Buttered breadcrumbs added the night before turn into a soft brown layer with no crunch at all, because they spend all night absorbing moisture from the sauce. Mix them, bag them, and leave them on the counter. They keep fine for a day.

Why Cheese Sauces Break, and How to Not Break Yours

Cheese is fat and protein held together with water. Heat it too hard and the proteins tighten and squeeze the fat out, which is the orange oil slick you have probably seen pooling on a broken sauce. A bechamel protects against this, because the flour-and-starch network physically gets in the way of the proteins finding each other, but it only protects so far.

The rule that fixed this for me permanently: the pot comes off the burner and stops bubbling before any cheese goes in. A hot bechamel holds more than enough heat to melt three pounds of cheese without any help from the stove. The moment cheese goes into a sauce that is still actively simmering, you are racing it.

Add the cheese in handfuls rather than all at once, and stir until each one has vanished. Dumping the whole bowl in drops the sauce temperature fast and leaves you reheating it to finish the melt — which puts you right back on the burner with cheese in the pot.

If It Breaks Anyway

You can often save it. Take it off the heat, add a splash of cold milk or a spoonful of cream, and whisk hard from the center outward. If that fails, blend it with an immersion blender for thirty seconds. It will not be as silky, but it will be smooth, and nobody at the table will know.

What Three Minutes Short Actually Looks Like

Four minutes of boiling for elbows sounds like a typo. Bite one: the outside will be soft and slippery and the center will still be opaque and chalky, with a definite resistance that stops your teeth. It would be unpleasant to eat. That is the correct state for pasta that is about to spend thirty-five minutes in a hot oven surrounded by liquid.

The second cooking is the one that matters, and it is a better cooking. Pasta finishing in a cheese sauce absorbs that sauce rather than water, and the starch it releases as it does stays in the dish and thickens things rather than going down the drain in a colander. Mac and cheese made this way tastes more strongly of cheese for exactly the same amount of cheese.

Different shapes need different subtractions. Small elbows want three minutes off; thicker cavatappi or medium shells want four; orzo is a bad fit for a bake at all, because there is no margin between underdone and dissolved.

The Crust Is a Separate Dish

Buttered panko, Parmesan, and a little smoked paprika go on for the last twelve to fifteen minutes only. Any longer and they go past golden into bitter; any shorter and the butter has not fully browned and they taste raw and floury.

Panko stays crunchier than standard breadcrumbs because the flakes are larger and drier, so they absorb less from the sauce below. If you only have regular dried breadcrumbs, use a cup instead of a cup and a half and watch them closely — they brown faster.

Rachel’s Tip

The two teaspoons of Dijon are not for mustard flavor and you will not taste them. Mustard carries a little acid and a lot of emulsifying power, and both help a cheddar sauce stay smooth through a bake. Dry mustard powder works too — a scant teaspoon whisked in with the flour.

Questions People Ask

Why is my baked mac and cheese grainy?

Two likely causes. Either the cheese went into a sauce that was still simmering, which tightened the proteins and separated them from the fat, or you used pre-shredded cheese and the anti-caking starch stayed suspended in the sauce. Take the pot off the heat until it stops bubbling, and grate from the block.

Why did it come out dry?

The sauce was too thick when it went in. Underdone pasta absorbs roughly a cup of liquid during the bake, so a sauce at eating consistency during assembly is a sauce at paste consistency coming out. It should pour in a thin stream from the ladle and look wrong in the dish. Baking uncovered for the whole time will do it too — the foil is what keeps the moisture in for the first stretch.

Can I use evaporated milk instead?

Yes, and it is a legitimately good shortcut. Evaporated milk has concentrated proteins that stabilize cheese sauces well, so swap two of the five cups of whole milk for one 12-ounce can plus enough water to make two cups. You can even skip the roux entirely with that approach, though you lose some of the body the flour gives.

What is the best cheese combination?

Think in two roles. A sharp aged cheddar for flavor, since mild cheddar disappears entirely once it is in a bechamel, and something stretchy and good-melting like Gruyere, Fontina, or aged Gouda for texture. A handful of Parmesan adds savory depth. Three-quarters sharp cheddar to one-quarter melting cheese is the ratio I keep coming back to.

Can I freeze it?

It works better than you would guess, with a caveat. Assemble it without the crumb topping in a foil pan, wrap well, and freeze up to two months. Bake from frozen, covered, at 350°F for about 70 minutes, then add the crumbs and finish uncovered at 400°F for 15. The sauce will be slightly less glossy than fresh but not grainy, as long as you used whole milk and full-fat cheese.