Salads
This tasty macaroni and cheese recipe delivers creamy, velvety perfection with al dente pasta every time—no lumpy sauce in sight. The secret lies in a precise roux technique and proper cheese ratios that transform ordinary ingredients into a restaurant-worthy dish.
I’ve perfected this method through years of testing, ensuring the sauce stays smooth and the pasta maintains its bite. This isn’t just comfort food; it’s a foolproof technique that works for both stovetop and baked versions, with endless customization options.
The beauty of this recipe is its simplicity: just a handful of ingredients—quality cheese, butter, flour, and milk—combined in the right order. The roux forms the foundation, while sharp cheddar and Gruyère create depth.
What sets this apart is the two-step cooking process: first, cooking the pasta al dente, then finishing it in the cheese sauce to absorb maximum flavor. The result? A dish so rich and satisfying, it becomes the centerpiece of any meal.
Whether you prefer it stovetop for quick weeknight dinners or baked with crispy breadcrumbs for weekend feasts, this recipe adapts effortlessly. Add-ins like bacon, broccoli, or jalapeños let you tailor it to your taste, but even as-is, it’s a crowd-pleaser.
The sauce clings to each strand of pasta, creating bites that are creamy yet structured, with a golden, bubbly finish that’s impossible to resist.
Ready in under 30 minutes, this mac and cheese is perfect for family dinners, potlucks, or even a cozy solo meal. The best part? Leftovers reheat beautifully, making it a meal prep favorite. Let’s get started—your taste buds will thank you.
Ingredients for tasty macaroni and cheese
Quality cheese, precise roux, and al dente pasta transform simple ingredients into restaurant-style perfection.
| Ingredient | Amount | Notes |
|---|---|---|
| Elbow Macaroni 🍝 | 12 oz | Dry, medium or fine elbow shape |
| Unsalted Butter 🧈 | ½ cup | Cold, cut into 1-inch cubes |
| All-Purpose Flour 🌾 | ½ cup | Sifted, for smooth roux |
| Sharp White Cheddar Cheese 🧀 | 2 cups | Shredded, block preferred |
| Gruyère Cheese 🧀 | ½ cup | Shredded, adds nutty depth |
| Whole Milk 🥛 | 2 cups | Room temperature, full-fat |
| Diamond Crystal Kosher Salt 🧂 | 1 ½ tsp | For seasoning, adjust to taste |
| Freshly Ground Black Pepper 🌶️ | ½ tsp | Cracked peppercorns preferred |
| Yellow Mustard 🍯 | 1 tbsp | Dijon or prepared, for tang |
| Nutmeg 🌿 | ¼ tsp | Freshly grated, optional |
| Pasteurized Processed American Cheese 🧀 | ¼ cup | Shredded, for creaminess (optional) |
| Extra-Virgin Olive Oil 🫒 | 1 tbsp | For finishing, fruity variety |
The cheese selection is non-negotiable for authentic flavor. Sharp white cheddar provides the signature tang, while Gruyère adds nutty complexity—both must be freshly shredded from blocks to avoid clumping. For the cheddar, White Cheddar brands like Cabot or Tillamook deliver the bright, tangy profile this dish demands. Gruyère should be imported (look for French or Swiss labels) and aged at least 12 months for optimal melt and flavor. The American cheese, while optional, acts as a stabilizer for ultra-creamy texture—Kraft Singles work perfectly for this purpose. Store all cheeses in airtight containers with parchment paper between layers to prevent drying.
Substitutions should preserve the sauce's velvety texture and depth. Parmesan or Asiago can replace Gruyère at a 1:1 ratio, though the flavor will shift toward umami. For a dairy-free adaptation, use nutritional yeast and cashew cream> instead of milk, but expect a slightly grainier finish. The roux requires unsalted butter>—never margarine or salted varieties, as the salt content disrupts the cheese balance. If you lack Dijon mustard, yellow mustard plus 1/2 tsp vinegar mimics the tang. For the pasta, cavatappi or penne work equally well, but elbow macaroni's shape ensures maximum sauce adhesion.
This sauce reheats beautifully—simmer gently on low heat with a splash of milk to restore creaminess. Store leftovers in an airtight container for up to 5 days, or freeze portions for 3 months by spreading them thinly on a tray before bagging. The roux can be prepped ahead and refrigerated for 3 days, though freshly made yields the best texture. For baked versions, broil for 2-3 minutes at the end to create a golden crust. The cheese sauce's structure makes it ideal for meal prep—portion into individual containers for grab-and-go lunches, or double the batch for potlucks.
Why You'll Love This Recipe
- One-Pan Wonder: I swear by this recipe when I’m too tired to scrub pots—just melt butter, whisk in flour, add milk (or whatever you’ve got), and stir in that sharp cheddar and Gruyère. The macaroni cooks right in the sauce, and honestly? No extra dishes. That’s my kind of magic.
- Cheese Overload: Between the tangy bite of sharp white cheddar and the nutty depth of Gruyère, this sauce is ridiculously good. I’ve tried store-bought mixes, but this? It’s the kind of cheesy that makes you close your eyes and sigh. (Yes, even on a Tuesday night.)
- Lunchbox Hero: This recipe is my go-to for meal prep—it reheats like a dream and keeps kids (and adults) happy. Pack it cold for lunches or warm it up for a quick dinner. My daughter picks out the Gruyère bits first, but still asks for seconds. That’s the real test.
- Budget Stretch: A bag of elbow macaroni, a block of cheddar, and a little butter? That’s all it takes to feed four for under $5. I’ll be real: it’s not fancy, but it’s solid, filling, and never lets me down. Leftovers? Even better the next day.
Step-by-step instructions for stovetop mac and cheese
This method delivers a velvety, perfectly balanced mac and cheese with al dente pasta and a rich, nutty finish.
Cook the Elbow Macaroni to Al Dente Perfection
Bring a large pot of water to a rolling boil and add 1.5 teaspoons of the diamond crystal kosher salt. Once boiling, add the 12 oz elbow macaroni and cook according to package directions for 1 minute less than recommended. The pasta should be al dente—firm to the bite with a slight resistance when tested with a fork.
Reserve 1 cup of pasta water before draining, as this starchy liquid is essential for creating a silky sauce. Drain the pasta and set it aside, covered, to keep warm. The slight undercooking ensures the pasta finishes cooking in the sauce without becoming mushy.
Create a Smooth Roux for the Cheese Sauce
In a large, heavy-bottomed saucepan, melt the 0.5 cup unsalted butter over medium heat. Once fully melted, reduce the heat to medium-low and gradually whisk in the 0.5 cup all-purpose flour to form a smooth roux. Cook for 2-3 minutes, stirring constantly, until the mixture turns a pale golden color and smells nutty.
This step is critical—if the roux darkens, it will impart a bitter flavor to the sauce. Keep a close eye on it and maintain gentle heat to prevent burning. The roux serves as the thickening agent for the cheese sauce, so a proper foundation is essential.
Build the Cheese Sauce Layer by Layer
Slowly pour in the 2 cups whole milk while whisking continuously to prevent lumps from forming. Increase the heat to medium and cook for 5-7 minutes, stirring frequently, until the mixture thickens enough to coat the back of a spoon. This ensures the sauce will cling beautifully to the pasta.
Reduce the heat to low and gradually add the 2 cups sharp white cheddar cheese and 0.5 cup gruyère cheese, stirring until fully melted and smooth. If the sauce begins to curdle or separate, whisk in 1-2 tablespoons of reserved pasta water to restore its consistency. The gruyère adds a subtle nutty depth that elevates the classic cheddar flavor.
Finish with Seasonings and Optional Creaminess
Stir in the 1 tablespoon yellow mustard, 0.5 teaspoon freshly ground black pepper, and 0.25 teaspoon nutmeg until fully incorporated. For an extra creamy texture, add the 0.25 cup pasteurized processed American cheese and stir until melted. This optional step adds a smooth, velvety finish that many find irresistible.
Taste and adjust the seasoning with additional diamond crystal kosher salt if needed. The sauce should be rich, slightly tangy from the mustard, and well-balanced with a hint of warmth from the nutmeg. If the sauce is too thick, whisk in 1-2 tablespoons of reserved pasta water to achieve a silky, clingy consistency.
Combine and Finish with Olive Oil
Add the cooked elbow macaroni to the saucepan and toss gently to coat each strand evenly. If the pasta seems dry, add 1-2 tablespoons of reserved pasta water to create a glossy, cohesive dish. Transfer the mac and cheese to a serving dish and let it rest for 2-3 minutes to allow the flavors to meld.
Drizzle with 1 tablespoon extra-virgin olive oil and toss lightly to finish. The olive oil adds a fruity brightness that cuts through the richness of the cheese, while also preventing the sauce from becoming too heavy. Serve immediately while warm, garnished with an extra sprinkle of freshly ground black pepper for a final touch of sophistication.
Pro Tips For Making Tasty Macaroni And Cheese
- Cook the pasta al dente: DESCRIPTION: I learned this the hard way—overcooked elbow macaroni turns to mush when mixed with the cheese sauce. Pull it out of the pot when it’s still firm to the bite (about 1 minute less than package instructions) and finish cooking in the sauce. That extra starch helps bind the cheese into a silky, cohesive sauce instead of a gluey mess.
- Melt cheese slowly: DESCRIPTION: Gruyère and sharp cheddar love heat, but they don’t like to scorch. After whisking the roux, lower the heat to medium-low and let the cheese melt gradually—about 2-3 minutes. If you rush it, you’ll end up with grainy bits instead of a smooth, velvety sauce. (Yes, even if you’re impatient like me.)
- Grate cheese finely: DESCRIPTION: Skip the food processor for this one—it makes the cheese too uniform and can turn the sauce waxy. Use a box grater and shred the cheddar and Gruyère by hand, mixing the textures. The tiny, uneven pieces melt faster and create pockets of gooey richness. (Your future self will notice the difference.)
- Add a splash of milk: DESCRIPTION: The roux alone can make the sauce too thick and heavy. When the cheese is fully melted, stir in ¼ cup warm milk (or a splash of pasta water) to loosen it up. This keeps the sauce silky without diluting the flavor—just enough to make it cling to the pasta like it’s supposed to. (Does it look weird? Yes. Does it work? Every single time.)
Best sauces and condiments for this recipe
Classic Mustard Tang
The 1 tablespoon yellow mustard in this recipe isn’t just for flavor—it acts as a natural emulsifier, preventing the sauce from curdling when exposed to heat. I recommend using Dijon-style mustard for its smoother texture and milder bite, though prepared mustard works in a pinch.
The tang cuts through the richness of the cheese, balancing the dish with a subtle sharpness. For extra depth, stir in ½ teaspoon apple cider vinegar alongside the mustard to enhance the brightness. 🌶️
Nutmeg Warmth
A fresh grating of ¼ teaspoon nutmeg transforms this mac and cheese from ordinary to extraordinary. The warmth of nutmeg complements the sharp cheddar and nutty Gruyère, adding a sophisticated touch that elevates the dish.
For the best results, use a microplane to grate nutmeg just before adding it—pre-ground nutmeg loses its potency quickly. If you’re avoiding nutmeg, a pinch of ground cinnamon (⅛ teaspoon) provides a similar warmth without overpowering the sauce.
Olive Oil Finish
The final drizzle of 1 tablespoon extra-virgin olive oil is my secret weapon for achieving a silky, restaurant-quality texture. A high-quality olive oil like California Olive Ranch or Colavita adds a fruity, peppery note that brightens the dish without overwhelming it.
Toss the mac and cheese gently after drizzling to distribute the oil evenly, which also helps prevent the sauce from becoming too heavy. For an extra touch, finish with a sprinkle of flaky sea salt to enhance the flavors.
Bacon Fat Infusion
For a smoky twist, cook 4 slices of thick-cut bacon until crispy, then crumble and stir into the finished mac and cheese. Reserve 1 tablespoon of bacon fat> to finish the dish—it adds a deep, savory richness that pairs perfectly with the cheese.
If you’re feeling adventurous, swap the Gruyère for smoked Gouda> for an even more pronounced smoky flavor. The bacon fat also helps create a glossy finish, making the dish look as good as it tastes. 🔥
Spicy Kick Options
Add heat with ½ teaspoon cayenne pepper> or a pinch of red pepper flakes for a subtle kick, or go bold with 1 teaspoon hot sauce> (like Cholula or Tabasco).
For a smoky-spicy combo, stir in 1 teaspoon chipotle powder> or a dash of liquid smoke (¼ teaspoon) for depth. Always taste as you go—start with less and adjust to your preference, as spices can intensify when reheated.
Herbaceous Garnishes
Fresh herbs add a bright, aromatic contrast to the rich cheese sauce. A sprinkle of chopped chives or parsley just before serving adds a fresh, clean finish. For a more robust flavor, try sautéed garlic chives or thinly sliced green onions.
If you’re using dried herbs, ¼ teaspoon dried thyme or oregano works well, but fresh is always better. A final drizzle of truffle oil (½ teaspoon) adds a luxurious touch for special occasions. ✨
Nutrition facts
Frequently asked questions
Why does my mac and cheese sauce get lumpy?
Lumps usually happen when cheese melts too quickly or the roux isn't cooked long enough. Always melt cheese gradually over low heat while whisking constantly. For extra-smooth results, pre-shred your cheese (block cheese melts better than pre-shredded) and add it a little at a time. If lumps form, whisk in 1-2 tablespoons of reserved pasta water to break them up.
Can I make this recipe ahead of time?
This mac and cheese reheats beautifully. For stovetop versions, store leftovers in an airtight container for up to 5 days in the fridge. To reheat, warm gently on low heat with a splash of milk to restore creaminess. For baked versions, reheat covered in the oven at 350°F for 10-15 minutes to maintain texture. The sauce actually improves overnight as flavors meld.
What's the best cheese for this recipe?
For authentic flavor, use sharp white cheddar (like Cabot or Tillamook) as your base—it provides the signature tang. The Gruyère adds nutty depth that elevates the dish. Avoid pre-shredded cheese (it contains anti-caking agents that prevent smooth melting). For extra creaminess, add ¼ cup American cheese at the end, but it's optional. Never substitute with mild cheddar—it lacks the necessary sharpness.
How do I make this baked instead of stovetop?
Transfer the finished mac and cheese to a greased baking dish, then top with ¼ cup panko breadcrumbs mixed with 1 tablespoon melted butter. Bake at 375°F for 15-20 minutes until bubbly and golden. For extra crispiness, broil for 2-3 minutes at the end. The key is to bake it just until the top is set—overbaking makes the pasta soggy.
Can I make this gluten-free?
Yes! Use gluten-free elbow pasta (like Barilla or Jovial) and substitute the flour with ½ cup gluten-free all-purpose flour blend (like Bob's Red Mill 1:1). For the roux, cook the GF flour with butter over low heat for 3-4 minutes to remove any raw taste. The texture will be slightly different but still delicious. Add 1 tablespoon cornstarch to help thicken the sauce if needed.
