Salads
Baked macaroni shells and cheese delivers the ultimate comfort food experience with a crispy, golden top and creamy, cheesy filling in every bite. This one-pan recipe transforms simple ingredients into a restaurant-quality dish that's perfect for family dinners or meal prep. The secret lies in properly pre-cooking the shells and creating a rich, velvety cheese sauce that holds together beautifully during baking.
The process begins with boiling macaroni shells until al dente, then draining them thoroughly to prevent a soggy final result. While the shells cook, you'll prepare a creamy cheese sauce using a blend of cheddar, mozzarella, and cream cheese for that signature tangy richness.
The sauce gets thickened with a simple butter-flour roux to ensure it coats every shell perfectly.
After combining the shells and cheese sauce in a baking dish, the magic happens in the oven at 375°F. The top develops a satisfyingly crispy crust while the cheese melts completely, creating a tender yet substantial texture.
This dish is incredibly versatile—add cooked ground beef, diced ham, or steamed broccoli for extra flavor and nutrition without sacrificing that classic mac and cheese experience.
The result is a comforting, hearty meal that requires minimal effort but delivers maximum satisfaction. Serve with a simple green salad or crusty garlic bread to complete the meal. This recipe proves that homemade macaroni and cheese can be just as impressive as takeout—if not better.
Ingredients for baked macaroni shells and cheese
Sixteen ounces of shells and five cheeses create the perfect crispy-topped comfort dish.
| Ingredient | Amount | Notes |
|---|---|---|
| Elbow Macaroni Shells 🍝 | 16 oz | Uncooked, medium shells preferred |
| Sharply Shredded Sharp Cheddar Cheese 🧀 | 2 cups | Block cheese, freshly shredded |
| Mozzarella Cheese 🧀 | 1 ½ cups | Low-moisture, freshly shredded |
| Cream Cheese 🧀 | 8 oz | Full-fat, softened at room temp |
| Unsalted Butter 🧈 | ½ cup | Cold, cubed for roux |
| All-Purpose Flour 🌾 | ¼ cup | For roux thickening |
| Whole Milk 🥛 | 1 ½ cups | Warm for smooth sauce |
| Yellow Onion 🧅 | 1 whole | Diced, for flavor base |
| Garlic Cloves 🧄 | 3 cloves | Minced, for aromatic depth |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly cracked for heat |
| Kosher Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Vegetable Oil 🫒 | 1 tbsp | For greasing baking dish |
| Panko Breadcrumbs 🍞 | ¼ cup | Optional for extra crisp |
| Green Onion 🧅 | 2 whole | Sliced, for garnish |
The cheese blend makes all the difference. Block cheddar shreds better than pre-shredded and melts more smoothly. Trader Joe's and Whole Foods carry excellent options, but any good-quality sharp cheddar works. For the mozzarella, low-moisture is key—it won't make your sauce watery. The cream cheese adds that signature tang, so don't skip it. If you're feeling fancy, grab some aged cheddar for extra depth of flavor. The butter should be cold when you make the roux—this prevents the sauce from becoming greasy. Land O'Lakes or Plugrá are reliable brands for consistent quality.
No sharp cheddar? Extra-sharp white cheddar works in a pinch, though the flavor will be slightly milder. Running out of mozzarella? Provolone at half the amount gives similar meltiness. The panko breadcrumbs are optional but worth it—they create that satisfying crunch on top. For the garlic, fresh is non-negotiable—jarred garlic has a metallic aftertaste that ruins the sauce. The same goes for the onion—freshly diced beats powdered onion any day. If you're adding protein like ground beef or ham, cook it separately and mix it in after the shells are baked to keep everything warm.
This dish reheats beautifully—just cover with foil and pop it back in the oven for 10-15 minutes at 350°F. Leftovers keep for 4-5 days in the fridge, though I rarely have any. The sauce thickens as it cools, so if it seems too stiff when reheating, just add a splash of milk. For meal prep, portion into individual containers before baking. The shells hold up well for 3 days in the fridge, and you can freeze the baked dish for 2 months—just reheat covered to prevent drying. The crispy top is best enjoyed fresh, though.
Why You'll Love This Recipe
- Here’s what sold me: I can make a big batch on Sunday and pack it for lunches all week. The shells hold up, the cheese stays delicious, and my kids actually eat their veggies when I sneak them in later.
- One-Pot Magic: I swear by this recipe when I’m too tired to wash dishes. Toss the shells, cheese, and butter into a single pan, bake, and boom—done. The only cleanup is scraping the bottom (which I do with a spoon while it’s still hot).
- Cheese Overload: That sharp cheddar, melty mozzarella, and creamy cream cheese combo? It’s the holy trinity of baked pasta perfection. The outside gets crispy while the inside stays gooey—like a hug for your taste buds.
- Lunchbox Hero: Here’s what sold me: I can make a big batch on Sunday and pack it for lunches all week. The shells hold up, the cheese stays delicious, and my kids actually eat their veggies when I sneak them in later.
Step-by-step instructions for baked macaroni shells and cheese
Here's how to create a perfectly crispy-topped baked mac and cheese with creamy layers and rich flavor.
Cook the Macaroni Shells Al Dente
Bring a large pot of water to a rolling boil and add 1 tablespoon vegetable oil to prevent sticking. Add the 16 oz elbow macaroni shells and cook until 1 minute before the package directions specify for al dente. This slight undercooking ensures they finish perfectly in the oven.
Drain the shells in a colander and rinse briefly with cold water to stop the cooking process. Shake off any excess water and transfer them to a large bowl. I like to leave them slightly damp so they absorb the cheese sauce better without becoming dry.
Build the Creamy Cheese Sauce
In a separate pot, melt the ½ cup unsalted butter over medium heat until completely melted. Add the ¼ cup all-purpose flour and whisk constantly for 1-2 minutes until a smooth roux forms. This should be a pale golden color—don't let it brown or it'll taste bitter.
Slowly pour in the 1.5 cups whole milk while whisking vigorously to prevent lumps. Add the 8 oz softened cream cheese and stir until completely melted and smooth. Remove from heat and fold in the 2 cups sharply shredded sharp cheddar cheese and 1.5 cups mozzarella cheese until fully combined. Season with 1.5 teaspoons kosher salt and ½ teaspoon ground black pepper.
Sauté the Onion and Garlic Base
In a large oven-safe skillet, heat 1 tablespoon vegetable oil over medium heat. Add the diced yellow onion and cook for 5-6 minutes until softened and translucent. Add the 3 minced garlic cloves and cook for an additional 30 seconds until fragrant.
Here's the thing—don't let the garlic burn. It should smell sweet and aromatic, not bitter. If it starts to darken too quickly, remove the pan from heat for a moment. This onion and garlic base forms the flavor foundation for your entire dish.
Combine and Assemble in the Skillet
Pour the cooked macaroni shells into the skillet with the onion and garlic mixture. Add the cheese sauce and stir gently to coat all the shells evenly. The mixture should look thick and creamy, with the cheese clinging to the pasta.
Transfer the skillet to a 375°F preheated oven. Bake uncovered for 20-25 minutes until the edges are bubbly and the top begins to brown. The cheese should be fully melted and the shells should be tender but not mushy.
Add Crispy Topping and Finish
Remove the skillet from the oven and sprinkle the ¼ cup panko breadcrumbs evenly over the top. Return to the oven for an additional 3-5 minutes until the breadcrumbs are golden brown and crispy. This step creates that perfect textural contrast between creamy and crispy that makes this dish so satisfying.
Let the mac and cheese rest for 5 minutes before serving. Garnish with sliced green onion for freshness. Serve immediately while the cheese is still creamy and the breadcrumbs are crisp. The dish will continue to set slightly as it cools, so don't wait too long.
Pro Tips For Making Baked Macaroni Shells And Cheese
- Drain and Toss Dry: After boiling the elbow shells, drain them well and give them a quick shake in the colander—this gets rid of excess starch that turns your baked cheese into glue. I learned this the hard way when my first batch turned into a sad, sticky blob instead of crispy edges.
- Layer Cheese Like a Pro: Alternate sharp cheddar, mozzarella, and cream cheese in three distinct layers—don’t just dump everything in at once. The sharp cheddar needs room to melt evenly, while the cream cheese keeps it creamy without turning greasy. (Yes, even if you’re impatient like me.)
- Bake in Two Stages: Start at 375°F (200°C) for 20 minutes to melt the cheese, then crank to 400°F (210°C) for the last 10 minutes. This prevents a soggy top while keeping the bottom from burning—after burning three batches, I finally figured out the oven’s mood swings.
- Skip the Extra Milk: The cream cheese and butter already add enough moisture—no need to splash in milk or broth. Too much liquid = rubbery shells and a watery cheese sauce. Trust the recipe’s balance; your future self will thank you.
Storing and reheating this dish
Refrigerator Storage
Store your baked macaroni shells and cheese in an airtight container for up to 4-5 days in the refrigerator. The flavors actually deepen overnight as the cheeses meld together beautifully. I like using glass Pyrex containers with snap-on lids—they keep the dish fresh and make reheating easier.
Just be sure to cool the dish completely before storing to prevent condensation. 🧊
Freezer-Friendly Tips
This dish freezes exceptionally well for up to 2 months without losing quality. Portion into individual servings before freezing—this makes it perfect for quick meals. Use quart-sized freezer bags or glass containers with tight seals.
Leave ½ inch of headspace for expansion, and label with the date. The crispy breadcrumb topping will soften slightly after freezing, but the creamy cheese stays delicious. ❄️
Oven Reheating Method
For the best texture, reheat in the oven at 350°F covered with foil for 10-15 minutes. This maintains the creamy cheese texture and revives the crispy topping. If the top looks dry, sprinkle a few extra breadcrumbs and broil for 1-2 minutes at the end.
I always add a splash of milk or cream if the sauce seems too thick after reheating—just 1 tablespoon does the trick. 🔥
Microwave Shortcuts
When you're in a hurry, use the microwave with a damp paper towel covering the dish. Heat on 50% power for 2-3 minutes, stir well, then continue in 30-second intervals until reaching 165°F.
The key is gentle heating—this prevents the cheese from separating or becoming rubbery. For extra creaminess, add 2 tablespoons of milk while reheating. 💡
Crispy Top Revival
If your leftovers lose their crispy topping, don't worry—you can restore it! Sprinkle 1-2 tablespoons of panko breadcrumbs on top and broil for 2-3 minutes until golden. This works especially well for frozen portions.
For an extra boost, add a tiny bit of butter to the breadcrumbs before broiling. This technique brings back that satisfying crunch every time. 🍞
Meal Prep Strategy
For optimal meal prep, assemble the dish without the breadcrumb topping and bake as directed. Store the baked shells and cheese in the fridge, then add the breadcrumbs fresh when reheating.
This keeps the topping perfectly crispy for serving. I also recommend prepping individual portions in muffin tins—bake at 375°F for 15-18 minutes for portable, single-serving portions that reheat beautifully. 📅
Nutrition facts
Frequently asked questions
Can I use regular elbow macaroni instead of shells?
You can absolutely substitute elbow macaroni, but the texture will be different. Shells hold the cheese sauce better and create a more substantial bite. If using elbows, reduce the baking time by 5 minutes since they cook faster. For a similar effect, try jumbo pasta shells or penne.
Why did my cheese sauce get grainy? Grainy sauce usually means the cheese didn't melt completely.
Can I make this dish ahead of time?
Yes! Assemble the dish (without breadcrumbs) up to 24 hours ahead and refrigerate. Add breadcrumbs fresh before baking. For freezing, bake the dish without breadcrumbs, cool completely, then freeze. Add fresh breadcrumbs when reheating to maintain crispiness. The flavors actually improve overnight!
What's the best way to get an extra crispy top?
For maximum crispiness, try these pro tips: Use panko breadcrumbs> instead of regular, and mix them with 1 tablespoon melted butter> before sprinkling. Bake at 400°F> for the last 5 minutes> instead of 375°F. For a restaurant-style finish, broil for 1-2 minutes**> at the very end.
How can I add protein without making it soggy?
Cook your protein (ground beef, ham, or chicken) separately until fully done, then drain any excess fat. Mix it into the cheese sauce just before adding to the shells, or layer it between the shells and sauce in the baking dish. The key is to keep everything warm but not wet—this preserves the crispy texture.
