This is a stovetop mac and cheese built on a béchamel base with extra-sharp cheddar and Gruyère, stabilized with cream cheese and evaporated milk so the sauce stays smooth even after reheating. It takes 30 minutes start to finish and uses one pot plus one skillet. If you need a reliable weeknight dinner that also holds up the next day, this is it.
The short version of why this works
Two things actually matter here. First, the cream cheese and evaporated milk work together to stabilize the sauce — the proteins and emulsifiers in both prevent the fat from separating when heat is applied, which is why this reheats cleanly instead of turning greasy and grainy. Second, keeping the heat low when you add the shredded cheese is not optional. Cheese proteins seize and clump above roughly 160°F. Pull the pan off the burner entirely, add the cheese in stages, and stir between each addition. That patience is the whole job.
Common problems and fixes
- Sauce is thick before the pasta goes in: It will tighten as it sits. Add a splash of the reserved pasta cooking water — the starch in it loosens the sauce without diluting the flavor the way plain water would.
- Sauce tastes flat: Salt the pasta water aggressively and taste the finished sauce before serving. A small pinch of salt or a few extra drops of Dijon usually fixes this immediately.
- Breadcrumb topping goes soft before you get to the table: Broil it right before serving, not ahead of time. Panko softens fast once it hits steam from the pasta — skip the garnish if you’re serving from the pan family-style rather than plating individually. Not worth the extra dish.
- Leftovers clump into a solid block in the fridge: That’s normal with any béchamel-based sauce. Don’t add extra liquid before storing — add it during reheating instead, a tablespoon at a time.
- Gruyère won’t melt smoothly: Make sure it’s freshly grated, not pre-shredded. Pre-shredded cheese is coated with anti-caking starch that interferes with melting and makes the sauce slightly grainy.
Smart swaps
- Gruyère: Swiss cheese is the closest substitute in terms of melt and mild nuttiness. Fontina also works well. Avoid pre-shredded versions of any of these for the reason above.
- Evaporated milk: This is not the same as sweetened condensed milk — double-check the can. If you don’t have it, whole milk works but the sauce will be slightly less stable when reheated.
- Cream cheese: Full-fat block cream cheese melts most reliably. The spreadable kind in tubs contains more water and can make the sauce looser than intended.
- Pasta shape: Elbows are standard, but medium shells or cavatappi hold the sauce in their curves and actually give you a better ratio of sauce to pasta per bite.
Storage and reheating
Refrigerate leftovers in an airtight container for up to 4 days. The sauce will firm up completely in the fridge — that’s expected. To reheat on the stovetop, add 1 to 2 tablespoons of milk or water per serving, then warm over medium-low heat, stirring frequently until loose and hot. The microwave works too: cover loosely, heat in 60-second intervals, and stir in a small splash of milk between rounds. This mac and cheese does not freeze well — the sauce breaks on thawing and turns grainy even with the stabilizers. Plan to use it within the 4-day window instead.

30-Minute Ultimate Stovetop (with Optional Broil) Mac and Cheese
Equipment
- 68 qt stockpot
- Colander
- 10-inch skillet or saute9 pan (broiler-safe if broiling)
- Whisk
- Wooden spoon or silicone spatula
- Measuring cups and spoons
- Box grater (and Microplane for Parmesan)
- Instant-read thermometer (optional)
Ingredients
Pasta
- 4 qt Water For boiling pasta
- 2 tbsp Kosher salt For pasta water; the water should taste like the sea
- 12 oz Elbow macaroni Bronze-cut if possible for better sauce cling
Optional Crunchy Topping
- 1 tbsp Unsalted butter For toasting breadcrumbs
- 0.75 cup Panko breadcrumbs Unseasoned
- 0.25 cup Parmesan cheese, finely grated Preferably aged 184 months
- 0.125 tsp Smoked paprika Optional, for a gentle smoky depth
- 2 tbsp Fresh chives, minced For garnish and fresh lift
Cheese Sauce
- 3 tbsp Unsalted butter For the roux
- 3 tbsp All-purpose flour Spoon & level for accuracy
- 2 cup Whole milk Cold; higher fat yields creamier results
- 1 cup Evaporated milk For body and silkiness without heavy cream
- 2 tsp Dijon mustard Balances richness and enhances cheese flavor
- 0.5 tsp Garlic powder
- 0.5 tsp Onion powder
- 0.5 tsp Hot sauce Optional, a few dashes for brightness
- 0.25 tsp White pepper, freshly ground Or use black pepper
- 1 tsp Kosher salt Plus more to taste; pasta water is already salted
- 2 oz Cream cheese, cubed and room temperature Stabilizes and adds silkiness
- 8 oz Extra-sharp cheddar, freshly shredded Avoid pre-shredded (anti-caking agents inhibit melting)
- 4 oz Gruy e8re, freshly shredded Nutty depth and superb melt
- 1 cup Reserved pasta cooking water Use as needed to adjust sauce consistency
Instructions
- Optional broiler setup: Position an oven rack about 6 inches/15 cm from the heat source and preheat broiler to High (about 500b0F / 260b0C). This is for the crunchy topping finish.
- Boil pasta: Bring 4 qt water to a rolling boil in a large pot. Stir in 2 tbsp kosher salt until the water tastes like the sea. Add 12 oz elbow macaroni and cook until just shy of al dente (about 71 minutes or per package minus 1 minute), stirring so it doesnt stick. Reserve 1 cup cooking water, then drain.
- Toast the topping (optional, do this while pasta cooks): In a 10-inch skillet over medium heat, melt 1 tbsp butter. Add 3/4 cup panko and cook, stirring, until evenly golden and nutty, 23 minutes. Off heat, stir in 1/4 cup Parmesan and 1/8 tsp smoked paprika. Set aside; fold in half the chives just before serving for fresh color.
- Make the roux: Return the empty pot to medium heat and melt 3 tbsp butter until foamy. Whisk in 3 tbsp flour and cook, whisking, until the roux is pale blond and smells toasty, 12 minutesavoid browning for a creamy, not nutty, profile.
- Build the sauce: Gradually whisk in 2 cups cold whole milk, then 1 cup evaporated milk. Bring to a gentle simmer over medium heat; you should see small bubbles at the edges and light steam (about 34 minutes, target ~180b0F / 82b0C). Whisk in 2 tsp Dijon, 1/2 tsp each garlic and onion powder, 1/2 tsp hot sauce (optional), 1/4 tsp white pepper, and 1 tsp kosher salt.
- Melt the cheeses: Reduce heat to low (the surface should sit around 140160b0F / 6071b0C). Whisk in 2 oz cream cheese until smooth. Add cheddar and Gruye8re in 3 additions, whisking gently until just melted and glossy each time. If the sauce thickens too much or seems stringy, whisk in reserved pasta water 24 tbsp (14 cup) at a time until silky.
- Coat the pasta: Add drained macaroni and fold with a spatula until every elbow is cloaked and the sauce softly pools. Taste and adjust salt and pepper. If needed, loosen with a splash more pasta water for a luscious, pourable sheen.
- Optional crunchy finish: Transfer mac and cheese to a broiler-safe skillet or dish, top evenly with the toasted panko. Broil on High (about 500b0F / 260b0C) for 12 minutes until deeply golden; rotate if browning unevenly. You should hear a light sizzle and smell buttery toast.
- Serve: Spoon into warm bowls, shower with remaining chives, and add a few cracks of black pepper if you like. The perfect bite should be creamy, stretchy, and gently smoky with a crisp top.
Notes
Lisa’s Tips
Cheese matters: Shred from blocks for best melt. A blend of extra-sharp cheddar (tang) and Gruyère (nutty melt) gives complexity. Add 1–1½ oz Parmesan for a savory backbone if skipping the topping.Emulsion insurance: Cream cheese stabilizes the sauce. Pros can substitute ½ tsp sodium citrate (whisked into the milk) and omit the cream cheese for an ultra-smooth melt.
Heat control: Keep cheese melting at low heat to prevent graininess; whisk gently and avoid boiling after cheese is added.
Pasta choice: Elbows are classic; small shells, cavatappi, or pipette catch even more sauce. Cook 1 minute shy of al dente so it finishes in the sauce.
Dietary swaps: Use gluten-free pasta and 1:1 GF flour for the roux. For lighter dairy, replace evaporated milk with 1 cup 2% milk plus 1 tbsp butter (texture slightly less rich). For spice, add a pinch of cayenne.
No broiler? Toast breadcrumbs on the stovetop as directed and sprinkle on top at the table.
Serving Suggestions
Plate in warmed shallow bowls so the sauce stays fluid. Finish with chives and a whisper of smoked paprika for color contrast (golden, green, and sunset-red).Pair with a crisp green salad (lemon vinaigrette) to cut richness, and serve with iced tea, dry Riesling, or sparkling water with lemon.
Culinary Context
Mac and cheese draws on the French Mornay (cheese Béchamel) but became an American staple in the 19th century. Thomas Jefferson famously served a version at a state dinner. My version leans classic but borrows a modern emulsifying trick for guaranteed silk.Optional Advanced Instructions
Make-ahead: Shred cheeses up to 2 days in advance and refrigerate sealed. Toast panko up to 3 days ahead; store airtight and stir in chives at serving.Batching: Sauce scales well; keep warm over lowest heat and splash in milk or pasta water to refresh.
Timing
Prep: 10 minutes – shredding cheese, measuring, preheating broiler.Cook: 20 minutes – boil pasta (8–9 min), toast topping (2–3 min overlapping), make sauce and finish (8–10 min), optional broil (1–2 min).
Total: ~30 minutes.
Course & Origin
Course: Main Course / DinnerCuisine/Origin: American, Southern, Comfort Food
Nutrition
Common questions
Can I make this ahead and reheat it for dinner?
Yes, and it reheats better than most homemade mac and cheese recipes. Make it up to 4 days ahead, store it in the fridge, and reheat on the stovetop or microwave with a splash of milk stirred in — the cream cheese and evaporated milk keep the sauce from breaking.
Do I really need both cheddar and Gruyère, or can I just use all cheddar?
All extra-sharp cheddar works fine and is the simpler choice. The Gruyère adds a mild, slightly nutty background note that rounds out the sharpness of the cheddar, but the recipe is not dependent on it.
My sauce looks grainy — what went wrong?
The heat was almost certainly too high when the cheese went in. Remove the pan from the burner completely before adding cheese, and add it in small handfuls rather than all at once. Pre-shredded cheese with anti-caking coating can also cause graininess — freshly grated melts much more smoothly.
How do I scale this up if I’m feeding more people?
The recipe scales up straightforwardly — double everything for 12 servings. Use your largest pot so the pasta has room to cook evenly, and build the sauce in a wide skillet or sauté pan so the larger volume of liquid reduces and thickens at roughly the same rate.
More quick recipes to try
- Quick Chicken Noodle Soup
- Speedy Twice-Baked Potato Casserole
- Southern Stovetop Creamed Corn
- Quick Smoky Weeknight Chili
