Is there anything more comforting than a dish of homemade baked macaroni and cheese? This classic American comfort food has been warming hearts and satisfying appetites for generations. While boxed versions line grocery store shelves, nothing compares to making baked macaroni and cheese from scratch in your own kitchen. The bubbling cheese, the crispy golden top, that first creamy bite that takes you straight back to childhood. I still remember my grandmother pulling her heavy casserole dish from the oven, the cheese sauce still popping and hissing around the edges. Making this dish at home means you control the quality of every ingredient, from the type of cheese to the pasta shape. You can adjust the creaminess, add your favorite seasonings, and create something that's truly yours.
Ingredients List
- 1 pound elbow macaroni pasta
- 4 tablespoons butter
- 1/4 cup all-purpose flour
- 3 cups whole milk
- 1 teaspoon salt
- 1/2 teaspoon black pepper
- 1/2 teaspoon garlic powder
- 1/4 teaspoon paprika
For the Cheese:
- 3 cups shredded sharp cheddar cheese
- 1 cup shredded Gruyere or Monterey Jack cheese
- 1 cup shredded cheese for topping (cheddar or a mix)
- Optional: 1/2 cup grated Parmesan cheese for extra flavor
Timing / Cooking Schedule
Prep time: 15 minutes
Cooking time: 40 minutes
Total time: 55 minutes
This timing includes boiling the pasta, making the cheese sauce, and baking. You can prepare the entire dish up to the baking step a day ahead and refrigerate it, then add 10 extra minutes to the baking time if going from cold to oven.
Step-by-Step Instructions
Step 1: Cook the Pasta
Bring a large pot of salted water to a rolling boil. Add your macaroni and cook it for exactly 2 minutes less than the package directions state. You want it slightly underdone because it will continue cooking in the oven. Drain the pasta but don't rinse it. That starchy coating helps the sauce cling better. Set it aside while you make the sauce.
Step 2: Make the Roux
In a large saucepan or Dutch oven, melt the butter over medium heat. Once it's fully melted and just starting to foam, sprinkle in the flour. Whisk constantly for about 2 minutes. This cooking time removes the raw flour taste and creates a smooth base. The mixture should look like wet sand and smell slightly nutty. Don't let it brown.
Step 3: Add the Milk
Pour in the milk gradually, about half a cup at a time, whisking constantly. This prevents lumps from forming. At first it will look impossibly thick, but keep whisking and adding milk. Once all the milk is incorporated, continue cooking and whisking for 5 to 7 minutes until the sauce thickens enough to coat the back of a spoon. You'll feel it change texture as it thickens.
Step 4: Add Cheese and Seasonings
Remove the pan from heat. This is crucial because adding cheese to boiling liquid can make it grainy and separated. Stir in the salt, pepper, garlic powder, and paprika first. Then add your shredded cheeses in handfuls, stirring after each addition until completely melted and smooth. The sauce should be glossy and smell incredible. This homemade cheese sauce is what makes baked macaroni and cheese so much better than any boxed version.
Step 5: Combine Pasta and Sauce
Add your drained pasta to the cheese sauce. Fold everything together gently with a wooden spoon or silicone spatula. Make sure every piece of pasta gets coated. The mixture should look quite saucy, almost too wet. Remember, the pasta will absorb sauce as it bakes, and you want that final result to be creamy, not dry.
Step 6: Transfer to Baking Dish
Preheat your oven to 350°F. Butter a 9x13 inch baking dish or spray it with cooking spray. Pour the mac and cheese mixture into the prepared dish, spreading it evenly. Sprinkle the reserved cup of shredded cheese over the top in an even layer. This creates that gorgeous golden crust everyone fights over.
Step 7: Bake Until Golden
Bake for 25 to 30 minutes until the top is golden brown and you can see the sauce bubbling around the edges. If you want an extra crispy top, turn on the broiler for the last 2 minutes, but watch it carefully. It can go from perfect to burnt in seconds. Let it rest for 5 minutes before serving. This allows the sauce to thicken slightly and makes serving much easier.
Nutritional Information
Per serving (serves 8):
- Calories: 520
- Protein: 24g
- Carbohydrates: 48g
- Fat: 26g
- Fiber: 2g
- Calcium: 45% DV
- Iron: 12% DV
Tips, Variations, or Cooking Advice
Cheese Choices: Sharp cheddar gives the best flavor punch, but feel free to experiment. I love mixing in smoked gouda, fontina, or even a bit of blue cheese for adults. Stay away from pre-shredded cheese if possible. It contains anti-caking agents that can make your sauce grainy. Shred your own for the smoothest results.
Add-Ins: Stir in cooked bacon pieces, diced ham, or caramelized onions before baking. For a grown-up version, add a pinch of cayenne or mix in some Dijon mustard with the seasonings. Lobster mac and cheese is a restaurant favorite that's surprisingly easy at home.
Breadcrumb Topping: Mix 1 cup panko breadcrumbs with 2 tablespoons melted butter and sprinkle over the cheese topping before baking. This adds incredible crunch. Toss in some dried herbs like thyme or parsley for extra flavor.
Gluten-Free Version: Use your favorite gluten-free pasta and substitute the flour with a gluten-free blend or cornstarch. Use 3 tablespoons of cornstarch instead of 1/4 cup flour.
Lighter Version: Use 2% milk instead of whole milk and reduce the butter to 3 tablespoons. You'll sacrifice some richness but it still tastes good. Add an extra 1/2 cup of milk to keep it creamy.
Stovetop Only: Skip the baking step entirely for a quicker weeknight meal. Just add a bit less milk so the sauce is thicker, and serve it straight from the pot.
Common Mistakes to Avoid
Overcooking the Pasta: This is the number one mistake. Mushy pasta makes mushy mac and cheese. Always undercook by 2 minutes since it finishes cooking in the oven.
Using Pre-Shredded Cheese: Those convenient bags contain cellulose to prevent clumping, which also prevents smooth melting. Your sauce can turn grainy or separated. Take the extra 5 minutes to shred your own cheese.
Adding Cheese to Boiling Sauce: High heat causes cheese proteins to seize up and separate from the fat. Always remove from heat before adding cheese, then stir until melted.
Not Seasoning Enough: Cheese and pasta need help. Don't skip the salt, and taste your sauce before mixing with pasta. It should taste slightly over-seasoned because the pasta will dilute it.
Making the Sauce Too Thick: Your cheese sauce should look almost too thin when you mix it with the pasta. It will thicken considerably as it bakes and the pasta absorbs liquid.
Skipping the Resting Time: I know it's hard to wait when it smells so good, but those 5 minutes after baking let everything set up properly. You'll get cleaner servings and better texture.
Storage / Leftovers Tips
Store leftover macaroni and cheese in an airtight container in the refrigerator for up to 4 days. The texture stays best if you let it cool completely before covering and refrigerating. For reheating, add a splash of milk to restore creaminess. Microwave individual portions for 1 to 2 minutes, stirring halfway through, or reheat the whole dish covered with foil in a 350°F oven for 20 minutes.
You can freeze baked macaroni and cheese for up to 3 months. I prefer freezing it before baking for the best texture. Assemble the dish completely in a freezer-safe container, cover tightly with plastic wrap and then foil, and freeze. Thaw overnight in the refrigerator and bake as directed, adding 10 minutes to the cooking time. If you freeze already-baked mac and cheese, the texture will be slightly different when reheated, but it's still delicious. Thaw in the fridge overnight and reheat with a bit of extra milk or cream stirred in to bring back that creamy consistency.
For meal prep, you can make the cheese sauce up to 2 days ahead and store it separately from the cooked pasta. Reheat the sauce gently before combining with freshly cooked pasta and baking. This method gives you the convenience of make-ahead without sacrificing texture.

