Salads
This baked macaroni shells and cheese recipe delivers the perfect balance of crispy edges and gooey cheese rivers you crave. The secret lies in baking the shells just until they're golden and crunchy, then drowning them in a velvety cheese sauce that pools in delicious rivers when baked again.
I've perfected this technique over years of testing, ensuring every bite has that satisfying contrast of textures.
What makes this recipe stand out is the two-stage baking process—first for the shells to achieve that coveted crispiness, then for the cheese sauce to create those signature golden rivers.
You'll start with al dente shells that hold their shape beautifully, then build a rich cheese sauce using a mix of cheddar and mozzarella for that perfect melt. The result is a dish that's hearty enough to serve as a main course but simple enough for a weeknight dinner.
By the time it comes out of the oven, you'll have a casserole with perfectly crispy shells that shatter slightly with each bite, topped with melted cheese that forms those irresistible rivers.
The aroma alone will have everyone gathering around the table, and the first forkful delivers on the promise of comfort food at its finest. This is the kind of dish that transforms a simple pasta night into something special.
Serve with a simple green salad and garlic bread for a complete meal that feels restaurant-worthy. The leftovers reheat beautifully too, making this a perfect recipe for meal prep or feeding a crowd. Let's get started on creating this crowd-pleasing classic.
Ingredients for baked macaroni shells and cheese
Crispy shells meet gooey cheese rivers—here's what you need for the perfect baked mac and cheese.
| Ingredient | Amount | Notes |
|---|---|---|
| Macaroni Shells 🍝 | 1 lb | Uncooked, al dente preferred |
| Extra-Sharp Cheddar Cheese 🧀 | 2 cups | Shredded, block preferred |
| Mozzarella Cheese 🧀 | 1 ½ cups | Shredded, low-moisture |
| Heavy Cream 🥛 | 1 cup | Full-fat for creaminess |
| Milk 🥛 | ½ cup | Whole milk preferred |
| Butter 🧈 | ½ cup | Unsalted, melted |
| All-Purpose Flour 🌾 | 2 tbsp | For thickening sauce |
| Garlic Cloves 🧄 | 4 cloves | Minced for flavor |
| Yellow Onion 🧅 | ½ whole | Finely diced |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Ground Nutmeg 🌿 | ¼ tsp | Freshly grated |
| Breadcrumbs 🍞 | ¼ cup | Panko for extra crunch |
| Olive Oil 🫒 | 2 tbsp | For crispy shells |
The cheese makes or breaks this dish. Block cheddar and mozzarella shred best—pre-shredded gets clumpy. Kraft or Cabot are my go-to brands for that sharp, melty flavor. The macaroni shells should be al dente when cooked; if they're mushy, they won't hold their shape under the cheese. Barilla or De Cecco are my favorite brands—they bake up perfectly crispy. For the breadcrumbs, Panko gives you that extra crunch that makes every bite satisfying.
No sharp cheddar? Monterey Jack at double the amount works in a pinch. Fresh nutmeg is ideal, but ground works fine at half the quantity. The onion and garlic can be swapped for 1 tbsp onion powder and 1 tsp garlic powder if you're short on time. For extra richness, add 1/4 cup sour cream to the sauce—it makes the cheese rivers even more decadent. The olive oil is key for crispy shells; don't skip it—just brush it on the shells before baking.
Prep ahead for maximum crispiness. Cook the shells 1 day ahead and store them in the fridge—they'll be perfectly dry for baking. The cheese sauce can be made 2 days ahead and reheated gently. Leftovers reheat beautifully—just cover with foil and bake at 350°F for 10-15 minutes. For serving, I always add a sprinkle of fresh parsley or paprika right before eating—it adds that restaurant touch.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this—just toss the shells, cheese, and cream in one dish, bake, and walk away. No boiling pasta mid-week chaos, no extra pots to wash. That crispy shell edge? Pure reward for zero effort.
- Sharp Cheese Magic: The combo of extra-sharp cheddar and melty mozzarella is ridiculously good—salty, tangy, creamy all at once. Honestly, I’ve tried fancier baked pasta, but this? It’s the one that gets me back in the kitchen.
- Lunchbox Hero: Between us, this reheats like a dream for lunches—no soggy shells, just that perfect cheesy bite. I pack it for work all the time, and my kids beg for it (yes, even on a Tuesday).
- Budget Win: A pound of shells and a block of cheddar stretch this into leftovers for days. I’ll be real: it’s my go-to when I’m broke but still want something that feels special. Plus, the heavy cream makes it feel indulgent without costing a fortune.
Step-by-step instructions for baked macaroni shells and cheese
Here's how to create the perfect balance of crispy shells and gooey cheese rivers every time.
🍳 Step 1: Cook the Macaroni Shells to Al Dente Perfection
Bring a large pot of water to a rolling boil and add 1 lb macaroni shells. Cook until 1 minute before the package directions for al dente—you want shells that are firm but tender. Drain immediately and rinse under cold water to stop the cooking process. This prevents the shells from becoming mushy in the oven.
I like to spread the drained shells on a baking sheet while still slightly damp. This helps them crisp up beautifully in the oven later. Don't skip this rinsing step—it makes a huge difference in the final texture. The shells should be hot but not steaming when you transfer them to your baking dish.
🥘 Step 2: Build the Cheesy Sauce Base
In a large skillet, melt 0.5 cup butter over medium heat. Add the 0.5 whole yellow onion (finely diced) and cook for 5 minutes until softened. Then add the 4 cloves garlic (minced) and cook for another 30 seconds until fragrant—don't let it brown or it'll turn bitter.
Whisk in the 2 tbsp all-purpose flour and cook for 1 minute to remove the raw flour taste. Slowly pour in the 1 cup heavy cream and 0.5 cup milk, whisking constantly to prevent lumps. Bring to a gentle simmer and cook for 3-4 minutes until slightly thickened. This forms the creamy foundation for your cheese sauce.
🥘 Step 3: Combine Cheeses and Seasonings
Reduce heat to low and gradually add the 2 cups extra-sharp cheddar cheese and 1.5 cups mozzarella cheese, stirring constantly until completely melted. The sauce should be smooth and creamy. Season with 1.5 tsp salt, 0.5 tsp black pepper, and 0.25 tsp ground nutmeg, stirring well to distribute the flavors evenly.
Here's the thing—don't be tempted to rush this step. The cheese needs time to melt completely and the seasonings to fully incorporate. If the sauce looks too thick, add 1-2 tablespoons of pasta water to loosen it slightly. You want a consistency that coats the back of a spoon but isn't runny.
🍳 Step 4: Assemble and Bake for Crispy Perfection
Preheat your oven to 375°F. In a greased 9x13-inch baking dish, spread half of the cooked macaroni shells in an even layer. Pour half of the cheese sauce over the shells, then sprinkle half of the 0.25 cup breadcrumbs on top. Repeat with the remaining shells, sauce, and breadcrumbs.
Drizzle the 2 tbsp olive oil evenly over the top and bake for 25 minutes. The breadcrumbs will turn golden brown and crispy while the cheese begins to bubble. After 25 minutes, increase the oven temperature to 425°F and bake for another 5-7 minutes until the top is deeply golden and the cheese is bubbling vigorously.
⏰ Step 5: Finish with Broiler for Extra Crispiness
For that perfect crispy top, transfer the baking dish to the broiler for 1-2 minutes, watching closely to prevent burning. You want the cheese to be bubbly with golden brown spots on top. Remove from the oven and let it rest for 5 minutes before serving—this allows the cheese to set slightly and makes it easier to cut.
Here's where the magic happens: the contrast between the crispy shells and gooey cheese rivers. Serve immediately with a side salad or garlic bread to soak up those delicious cheese sauce pools. The shells should be crispy on the outside while still tender inside, with rivers of melted cheese flowing through them.
Pro Tips For Making Baked Macaroni Shells And Cheese
- Boil Shells Until They Float: I learned this the hard way—undercooked shells turn mushy when baked. Once they float to the surface (usually 8-10 minutes), drain them immediately and rinse with cold water to stop cooking. This keeps them firm enough to hold their shape when buried in cheese.
- Shred Cheese Like a Pro: Skip the food processor for cheddar—it packs the cheese and makes the sauce grainy. Use a box grater and shred just before mixing, keeping the mozzarella in larger chunks (it melts faster and adds texture). Pro tip: Toss shredded cheddar with 1 tsp flour to absorb moisture and prevent clumping.
- Don’t Skip the Cream First: The heavy cream goes in before the milk—this creates a richer, silkier sauce that won’t curdle. Heat the cream alone until it just simmers (tiny bubbles at the edges), then whisk in milk and cheese. If you add milk first, you’ll end up with a watery, separated mess.
- Bake Covered, Then Uncovered: Start with foil over the dish for the first 20 minutes to trap steam and help the cheese melt evenly. Then remove the foil and crank the oven to 375°F (200°C) for the last 5-10 minutes—this crisps the top without burning. Ignore this, and you’ll either have a soggy top or a sad, pale crust.
Make-ahead tips for this baked macaroni shells and cheese
Prep Ahead for Crispy Shells
Cook the macaroni shells 1 day ahead and store them in an airtight container in the fridge. This removes excess moisture, ensuring they crisp up beautifully when baked later.
Spread them on a baking sheet to dry completely before storing. I like to add a sprinkle of salt while they cool—it enhances flavor later. 🥗
Cheese Sauce Prep
Make the cheese sauce 2 days ahead and store it in an airtight container. When reheating, warm it gently over low heat with 1-2 tablespoons of milk or cream to restore creaminess.
Stir constantly to prevent scorching. The sauce thickens as it cools, so you may need to add a splash of liquid when reheating. 🧀
Assemble the Night Before
Layer the shells and sauce in your baking dish up to 24 hours before baking, but skip the breadcrumbs. Cover tightly with plastic wrap and refrigerate.
When ready to bake, add the breadcrumbs and olive oil, then bake as directed. This shortcut ensures the shells stay crispy and the cheese melts perfectly. ⏰
Freezer-Friendly Option
For a 3-month freezer option, assemble the dish completely (including breadcrumbs) in a freezer-safe baking dish. Cover tightly with aluminum foil and plastic wrap. When ready to bake, remove from the freezer and let it thaw in the fridge overnight.
Bake at 375°F for 45 minutes, then broil for 3-5 minutes for extra crispiness. ❄️
Reheating Leftovers
Cover leftovers with foil and reheat at 350°F for 10-15 minutes. For extra crispiness, broil for 1-2 minutes at the end. Add a splash of milk or cream if the cheese looks dry.
I love serving reheated portions with a side of garlic bread to soak up any extra sauce. 🔥
Make-Ahead Serving Tips
If prepping ahead, store the baked dish without garnishes like parsley or paprika. Add these fresh after baking to keep them vibrant. For meal prep, portion into individual servings before reheating to maintain texture. The cheese rivers may spread slightly when reheated, so serve immediately for the best experience. 💫
Nutrition facts
Frequently asked questions
Why do my baked macaroni shells get soggy instead of crispy?
Overcooking the shells before baking is the #1 culprit. Cook them 1 minute less than package instructions, rinse with cold water, and pat completely dry. Also, never skip the 375°F pre-bake for 25 minutes—this removes moisture before adding the cheese sauce. For extra insurance, spread shells on a baking sheet to dry for 10 minutes after draining.
Can I use elbow macaroni instead of shells?
You absolutely can! Elbow pasta works great—just adjust baking times slightly since it's smaller. For a similar texture, bake at 375°F for 20 minutes before adding cheese, then 425°F for 5-7 minutes to melt the cheese. The key is ensuring the pasta is al dente before baking.
What's the best way to make this dish vegetarian?
Swap the butter for vegetable oil or dairy-free butter, and use vegan cheddar and mozzarella (like Violife or Daiya). For extra richness, add 1/4 cup nutritional yeast to the sauce—it adds a cheesy depth. The texture will be slightly different but still delicious!
How do I prevent the cheese from separating or becoming oily?
Always melt cheeses low and slow—never rush this step! Use a mix of sharp cheddar (60%) and mozzarella (40%) for the best melt. If the sauce looks too thick, add 1 tbsp pasta water to loosen. For extra insurance, whisk in 1 tsp Dijon mustard—it helps emulsify the cheese.
Can I make this gluten-free?
Yes! Use gluten-free macaroni shells (like Barilla GF) and ensure your breadcrumbs are certified GF. For the sauce, check that your cheese brands are GF-certified. The texture will be slightly different but still satisfying. Serve with GF crackers or a fresh salad.
