Salads
Joanna Gaines' macaroni and cheese recipe brings that cozy, homestyle warmth straight to your kitchen table—creamy, comforting, and topped with a golden, crispy buttery crust that’s impossible to resist.
The secret lies in a rich, velvety cheese sauce built from a proper roux, where sharp cheddar meets just enough cream to create that signature melt-in-your-mouth texture. I’ve perfected this method over years of testing, ensuring every bite delivers that restaurant-quality depth without the fuss.
What sets this recipe apart is the balance of simplicity and professional technique—no complicated steps, just precise timing and a few key tricks. The pasta cooks al dente in salted water, then gets tossed into the sauce while still hot, allowing it to absorb that luxurious, cheesy goodness.
The roux, made with butter and flour, forms the foundation, while a blend of cheeses (cheddar, Gruyère, and a touch of cream cheese) creates layers of flavor that keep it from breaking when reheated.
By the time it emerges from the oven, you’ll have a bubbling, golden dish with a crispy buttery top that cracks when you cut into it—revealing creamy, stretchy cheese underneath.
It’s the kind of mac and cheese that makes you slow down, savor each forkful, and wonder how something so simple can taste this extraordinary. Perfect for family dinners, potlucks, or even a cozy weeknight treat.
This recipe scales beautifully for crowds, and the leftovers reheat just as well as the first serving. The crispy top stays intact if you cover it with foil while reheating, so every bite delivers that satisfying crunch. Let’s get cooking—your taste buds will thank you.
Ingredients for joanna gaines macaroni and cheese
Pantry staples and a few specialty cheeses—this mac and cheese delivers restaurant-quality comfort food.
| Ingredient | Amount | Notes |
|---|---|---|
| Elbow Macaroni 🍝 | 1 ½ lbs | Al dente texture preferred |
| Unsalted Butter 🧈 | ¾ cup | Cold for roux, cut into cubes |
| All-Purpose Flour 🌾 | ¾ cup | White or whole wheat blend |
| Sharp Cheddar Cheese 🧀 | 2 cups | Shredded, block preferred |
| Gruyère Cheese 🧀 | ¾ cup | Shredded, adds nutty depth |
| Cream Cheese 🧀 | 4 oz | Room temperature for smoothness |
| Whole Milk 🥛 | 1 ½ cups | Warmed for velvety sauce |
| Yellow Mustard 🍯 | 1 tbsp | Adds subtle tanginess |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Garlic Powder 🧄 | ½ tsp | For subtle garlic note |
| Breadcrumbs 🍞 | ½ cup | Panko for extra crunch |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For crispy topping |
The cheeses are non-negotiable for that signature Joanna Gaines texture. Sharp cheddar brings the tang, Gruyère adds nutty depth, and cream cheese ensures that velvety melt. I always grab block cheddar from the deli counter—pre-shredded gets clumpy and lacks flavor. For Gruyère, check the specialty cheese section at Whole Foods or Trader Joe's—their imported options are fantastic. The butter matters too: unsalted gives you control over seasoning, and European-style (like Plugrá) has higher fat content for that rich roux. If you can't find Gruyère, Parmesan in a pinch works, but it won't be identical.
No panko? Regular breadcrumbs toasted in the oven first give similar crunch. Short on sharp cheddar? Monterey Jack softens the flavor but keeps the creaminess. The mustard is key—it prevents the cheese from curdling, so don't skip it. For a dairy-free twist, nutritional yeast plus a splash of lemon juice mimics the tang. The garlic powder is optional but adds that subtle depth Joanna's version is known for. Pro tip: Warm your milk slightly before adding it to the roux—it blends smoother and prevents lumps. And if you're making this ahead, add the breadcrumb topping fresh out of the oven for maximum crunch.
This reheats beautifully—cover with foil to keep the crispy top intact. Keeps for 4-5 days in the fridge, freezes for 3 months if you portion it properly. I always make a double batch because leftovers are even better the next day. The crispy topping stays crispy if you reheat it covered and then uncover to crisp again for 2 minutes. For potlucks, assemble it in a cast-iron skillet—it stays hot longer and the crust gets extra crispy from the heat retention. Store any extra breadcrumbs in an airtight container for up to 1 month—they're great for breading too.
Why You'll Love This Recipe
- Here’s what sold me: the roux made with butter and flour actually works—no lumps, no weird texture. The Gruyère melts into that velvety sauce while the cheddar adds just enough bite. It’s the kind of creamy that doesn’t require stirring for 20 minutes.
- Five-Ingredient Magic: I swear by this combo—elbow pasta, rich Gruyère, sharp cheddar, and just butter and flour for the roux. That’s it. No weird additives or last-minute store runs; everything’s probably already in your pantry.
- Creamy Without the Fuss: Here’s what sold me: the roux made with butter and flour actually works—no lumps, no weird texture. The Gruyère melts into that velvety sauce while the cheddar adds just enough bite. It’s the kind of creamy that doesn’t require stirring for 20 minutes.
- Lunchbox Hero: Between us, this is my go-to for meal prep. Toss it cold with a sprinkle of salt the next day, or reheat it in mugs for a lazy morning. Honestly, my kids grab it before the sandwiches—no complaints there.
Step-by-step instructions for Joanna Gaines' macaroni and cheese
Here's how to create Joanna Gaines' signature creamy mac and cheese with that perfect crispy topping.
Cook the Elbow Macaroni to Al Dente Perfection
Bring a large pot of water to a rolling boil and add the 1.5 lbs elbow macaroni. Stir immediately to prevent sticking. Cook for 11-12 minutes until the pasta is al dente - it should have a slight bite in the center when you taste it. Drain the pasta in a colander and return it to the pot.
While the pasta cooks, I like to prepare everything else so nothing gets forgotten. The key here is timing - you want the pasta to be perfectly cooked but not mushy. If you're using a large pot, you might need to add a bit more water than usual to keep the pasta submerged while cooking.
Create the Ultimate Creamy Cheese Sauce
In a separate large pot, melt the 0.75 cup unsalted butter over medium heat. Once melted, whisk in the 0.75 cup all-purpose flour to create a roux. Cook for 2-3 minutes until the mixture turns a light golden color and smells nutty - this is your flavor foundation.
Slowly whisk in the 1.5 cups warmed whole milk and continue cooking for 5-7 minutes until the mixture thickens. Reduce heat to low and stir in the 2 cups sharp cheddar cheese, 0.75 cup gruyère cheese, 4 oz cream cheese, 1 tbsp yellow mustard, 1.5 tsp salt, 0.5 tsp black pepper, and 0.5 tsp garlic powder. Stir until completely melted and smooth - this should take about 3-4 minutes.
Combine Pasta and Sauce for Ultimate Creaminess
Add the drained pasta to the cheese sauce and stir gently but thoroughly to coat every strand. The mixture should be creamy and luxurious - if it's too thick, add a splash of the pasta water to reach your desired consistency. Let the mixture simmer together for 2-3 minutes to allow all the flavors to meld.
Here's where the magic happens - the residual heat from the pasta will help melt the cheeses completely. Taste and adjust seasoning if needed. This is your chance to make it perfectly to your liking before adding the crispy topping.
Create the Crispy Buttery Topping
In a small bowl, combine the 0.5 cup breadcrumbs with the 2 tbsp extra-virgin olive oil. Spread this mixture evenly over the top of the mac and cheese in the pot. The oil helps create that beautiful golden crust while adding subtle flavor.
Transfer the entire pot to a 400°F preheated oven and bake for 8-10 minutes until the topping is deep golden brown and crispy. Watch it closely during the last 2 minutes to prevent burning. The contrast between the creamy cheese and crispy topping is what makes this dish truly special.
Serve Immediately for Maximum Enjoyment
Remove from the oven and let it rest for 1-2 minutes before serving. The topping will be at its crispiest when fresh from the oven. Use a spatula to scrape up any cheese that might have settled at the bottom - every bite should be packed with that rich, creamy goodness.
Serve this mac and cheese while it's hot, with a side of steamed vegetables or a simple green salad. The crispy topping will give way to the creamy cheese with each bite, creating a truly satisfying experience that's perfect for family dinners or comforting weeknight meals.
Pro Tips For Making Joanna Gaines Macaroni And Cheese
- Cook pasta al dente: DESCRIPTION: Joanna’s recipe relies on elbow macaroni that’s just tender—not mushy, not crunchy. Taste it at 60 seconds before the package says “done,” then drain immediately. Overcooking turns the sauce into soup, and nobody wants that.
- Melt cheese low and slow: DESCRIPTION: After adding the flour-butter roux, reduce heat to medium-low when tossing in the cheeses. Gruyère burns faster than cheddar, and I’ve learned this the hard way—lumpy, bitter sauce is no one’s idea of a good time.
- Shred cheddar like you mean it: DESCRIPTION: Skip the pre-shredded bagged stuff—it’s coated with anti-caking agents that make the sauce grainy. Use a box grater and shred fresh, then pulse half in a food processor for a mix of texture. Your sauce will be smoother, and the flavor will pop.
- Finish with a splash of milk: DESCRIPTION: If the sauce feels too thick after mixing with the pasta, loosen it with 2-3 tablespoons of warm milk or even a splash of pasta water. Joanna’s version is creamy but not gluey—this keeps it just right without thinning out the cheesy richness.
Troubleshooting your joanna gaines macaroni and cheese
Grainy Cheese Sauce
If your cheese sauce looks grainy instead of smooth, you’re likely adding cheese too quickly or using cold ingredients. I’ve found that warming the milk to 110°F before adding it to the roux helps emulsify the cheese better.
Also, cut your cheddar into small cubes (not shreds) and add it gradually while stirring constantly over low heat. For extra insurance, whisk in 1 tbsp Dijon mustard—it acts as an emulsifier. 🧀
Sauce Too Thin
A runny sauce usually means the roux didn’t cook long enough or the pasta absorbed too much liquid. To fix it, remove the pot from heat and let the sauce sit for 5 minutes—it’ll thicken as it cools.
If it’s still too thin, mix 1 tbsp cornstarch with 2 tbsp cold water, stir it in, and simmer for 2 minutes. Pro tip: Use less pasta water when combining with the sauce—just a splash to loosen it up.
Crispy Top Won’t Form
If your breadcrumb topping stays pale and soggy, it’s likely due to moisture or insufficient oil. First, make sure your mac and cheese is fully cooled before adding the topping—steam will prevent crispiness.
I recommend using panko breadcrumbs (they’re lighter and crispier) and toasting them in a dry pan for 2 minutes before mixing with oil. Also, spread the topping in an even layer and bake at 425°F for 5-7 minutes to ensure a deep golden color. 🍞
Cheese Separates When Reheated
This happens when the sauce breaks during cooling or reheating. To prevent it, add 1 tbsp lemon juice or white vinegar to the warm sauce—it helps stabilize the fat in the dairy.
When reheating, cover with foil and warm on low heat or in the oven at 350°F until just melted. Stir gently and avoid boiling. For leftovers, store in an airtight container and reheat with a splash of milk to restore creaminess.
Pasta Gets Mushy
Overcooking pasta is the #1 cause of mushy mac and cheese. Always cook it 1 minute less than package instructions and taste-test for al dente texture. Drain it well and return it to the pot immediately to prevent sticking.
If your pasta is already too soft, mix in 1-2 tbsp cold butter to firm it up slightly. For extra insurance, use freshly boiled pasta—day-old pasta absorbs more liquid and turns mushy faster.
Burnt Topping
Watch the oven closely during the final 2 minutes of baking—the topping can go from golden to burnt in seconds. If it starts browning too quickly, cover loosely with foil and continue baking.
For a foolproof method, broil for 1-2 minutes at the end (watch closely!) to get a crispy top without risking burning. I also recommend using a light-colored baking dish—it reflects heat better and prevents over-browning. 🔥
Nutrition facts
Frequently asked questions
Can I make this mac and cheese without Gruyère?
Gruyère adds nutty depth, but you can substitute with Parmesan cheese (½ cup) or even more sharp cheddar. For a dairy-free option, use nutritional yeast (¼ cup) mixed with a splash of lemon juice to mimic the tang. The texture will be slightly different but still delicious.
How do I keep the crispy topping from getting soggy?
First, ensure your mac and cheese is fully cooled before adding the breadcrumb topping. Use panko breadcrumbs (they’re lighter and crispier) and toast them in a dry pan for 2 minutes before mixing with oil. Spread the topping in an even layer and bake at 425°F for 5-7 minutes—this ensures a deep golden color. For extra insurance, broil for 1-2 minutes at the end.
Can I make this ahead of time for a party?
Yes! Assemble the mac and cheese up to 24 hours ahead and refrigerate. When ready to serve, bake covered with foil at 350°F for 20-25 minutes, then uncover and broil for 2-3 minutes to restore the crispy topping. For freezing, portion into airtight containers and freeze for up to 3 months. Thaw overnight in the fridge before reheating.
Why did my cheese sauce get grainy?
Grainy sauce usually means the cheese was added too quickly or wasn’t fully melted. Cut your cheddar into small cubes (not shreds) and add it gradually while stirring over low heat. Warm the milk to 110°F before adding, and whisk in 1 tbsp Dijon mustard—it acts as an emulsifier. Stir constantly until smooth.
What’s the best way to serve this dish?
This mac and cheese is perfect as a main dish with a side of steamed broccoli or a crisp green salad. For extra flair, garnish with chopped chives or a sprinkle of smoked paprika. It’s also great with a glass of chilled white wine or a cold sparkling lemonade for a refreshing contrast.
