This creamy stovetop mac and cheese is a nostalgic comfort food classic reimagined with gourmet flair and ready in just about 30 minutes. Inspired by traditional Southern soul food and enhanced with a hint of French technique, this dish is rich, velvety, and irresistibly cheesy. It combines the quick convenience of modern cooking with a deeply satisfying homemade taste that elevates it from weeknight staple to dinner party favorite.
12ozelbow macaronior cavatappi; use high-quality semolina pasta for optimal texture
3tbspunsalted butterpreferably European-style for richness
3tbspall-purpose flourused to make the roux
2cupswhole milkwarmed for smoother sauce texture
1cupheavy creamadds extra creaminess
2cupssharp cheddar cheesefreshly grated for best meltability
1cupGruyère cheeseadds a nutty, creamy depth; can sub with mozzarella or fontina
1tspDijon mustardenhances the cheese flavor
0.5tspgarlic powderadds subtle depth
0.25tspwhite pepperfor mild heat; black pepper can be substituted
1pinchkosher saltadjust seasoning as needed
Prevent your screen from going dark
Instructions
Bring a large pot of salted water to a boil. Add the elbow macaroni and cook until al dente, about 7–8 minutes. Drain and set aside.
While the pasta cooks, melt the butter in a medium saucepan over medium heat. Once melted and bubbly, whisk in the flour to make a roux. Cook for 1–2 minutes until light golden and fragrant (nutty aroma).
Gradually whisk in the warm milk and cream, ensuring no lumps remain. Continue whisking over medium heat until slightly thickened, about 4–5 minutes.
Stir in the Dijon mustard, garlic powder, white pepper, and a pinch of salt. Reduce heat to low and gradually fold in the shredded cheeses, reserving a handful for garnish if desired. Stir until smooth and fully melted.
Add the cooked pasta to the cheese sauce and fold gently until well coated. Taste and adjust salt and pepper as desired.
Serve immediately, garnished with extra cheese or a pinch of smoked paprika for color, if desired.
Notes
For a smoky twist, stir in 1/2 tsp smoked paprika or swap Gruyère for smoked Gouda.
To make it vegetarian, ensure cheese does not contain animal rennet.
For gluten-free, use GF pasta and 1:1 GF flour for the roux.
Use freshly shredded cheese for the best melt—pre-shredded often contains anti-caking agents.