There’s a reason mac and cheese survives every food trend that comes and goes. It doesn’t need reinventing, only respecting. A proper batch made from scratch, with real béchamel and hand-grated cheese, tastes nothing like the boxed version most of us grew up on.
The difference lives in the details most recipes skip. Pre-shredded cheese is coated in cellulose and starch to keep it from clumping in the bag, and that same coating stops it from melting into a silky sauce on your stove. Grating your own block cheese is the single change that separates a grainy, oily bake from one that pulls in long, glossy strands.
This version leans into a Southern-style baked casserole: a roux-based sauce, sharp cheddar for bite, and a touch of cream cheese for body and stretch. It bakes low and slow enough for the edges to turn golden and bubbling, which is the part everyone fights over.
Nothing here is complicated or hard to find. It’s weeknight-friendly, freezer-friendly, and reliable enough to become the version you stop searching for a replacement to.
Ingredients You’ll Need
Great mac and cheese isn’t about a long ingredient list, it’s about using the right ratios and letting real cheese do the talking. This recipe keeps things honest, with a base you can build on and a few add-ins if you want to dress it up for a crowd. One of the things I love about this recipe is that it uses simple pantry ingredients. You probably already have most of them in your kitchen.
Base Ingredients
- 16 oz elbow macaroni
- 4 tablespoons unsalted butter
- 4 tablespoons all-purpose flour
- 3 cups whole milk, warmed
- 1 cup heavy cream
- 4 oz cream cheese, softened
- 3 cups sharp cheddar, freshly grated
- 1 cup Gruyère or Monterey Jack, freshly grated
- 1 teaspoon salt
- 1/2 teaspoon black pepper
- 1/2 teaspoon garlic powder
- 1/4 teaspoon smoked paprika
- 1/4 teaspoon ground mustard
Optional Add-ins
- 1 cup panko breadcrumbs, for topping
- 2 tablespoons melted butter, for topping
- 4 slices cooked bacon, crumbled
- 1/2 cup caramelized onions
- 1 cup steamed broccoli florets
- 1/4 teaspoon cayenne pepper, for heat
- 2 tablespoons chopped fresh chives, for garnish
Step-by-Step Instructions

Cook the Pasta
Bring a large pot of well-salted water to a rolling boil. Add the elbow macaroni and cook one to two minutes short of the package’s al dente time, since it will continue cooking in the oven. Drain well and toss with a small drizzle of olive oil to prevent sticking while you build the sauce. Set it aside in the colander. Skipping this timing step is the easiest way to end up with mushy pasta later, so keep an eye on the clock here.
Build the Roux
Melt the butter in a heavy-bottomed saucepan over medium heat until it foams gently. Whisk in the flour immediately and cook for about two minutes, stirring constantly, until the mixture turns pale gold and smells lightly toasted. This step cooks out the raw flour taste that makes cheese sauces feel gritty. Don’t rush it, but don’t let it brown either. A properly cooked roux is the real foundation of a silky, restaurant-quality cheese sauce.
Make the Béchamel
Slowly pour in the warmed milk and cream while whisking constantly to prevent lumps from forming. Keep whisking over medium heat until the mixture thickens enough to coat the back of a spoon, roughly five to six minutes. Warming the milk beforehand keeps the sauce smooth and speeds up thickening. Add the cream cheese in small pieces, whisking until fully melted and incorporated before moving to the next step. This gives the finished sauce extra body and a subtle tang.
Melt in the Cheese
Remove the pan from heat completely before adding cheese, since direct heat can cause the fats to separate and turn the sauce grainy. Add the grated cheddar and Gruyère a handful at a time, stirring gently until each addition melts fully. Season with salt, pepper, garlic powder, smoked paprika, and ground mustard. Taste and adjust as needed. The sauce should look glossy, pourable, and rich, clinging to the whisk in a smooth ribbon.
Combine and Assemble
Fold the drained macaroni into the cheese sauce, stirring gently until every piece is coated evenly. Fold in any mix-ins now, such as bacon or caramelized onions, if you’re using them. Pour the mixture into a buttered baking dish, spreading it into an even layer. Top with panko breadcrumbs tossed in melted butter for a crisp, golden crust, or leave it topping-free for an ultra-creamy stovetop-style finish instead.
Bake to Golden Perfection
Bake uncovered in a preheated oven at 375°F until the edges turn deep golden and the center bubbles steadily, about 20 to 25 minutes. For extra color on the topping, switch to the broiler for the final one to two minutes, watching closely so it doesn’t scorch. Let the casserole rest for five minutes before serving. This short rest allows the sauce to set slightly so it holds its shape when scooped.
Cook Time
Total: 50 minutes
Prep: 20 minutes
Bake: 25 minutes
Servings
This recipe makes approximately 8 generous servings, making it a solid choice for family dinners, potlucks, or meal prep across the week. Served as a main dish alongside a simple green salad, it comfortably feeds six to eight adults with a bit left over.
If you’re serving it as a side dish at a larger gathering, such as a holiday table or barbecue, it can stretch to feed ten to twelve people. The rich, cheesy nature of the dish means portions can run smaller than you’d expect for pasta.
For meal prep, divide it into individual containers once cooled. It reheats beautifully with a splash of milk stirred in to loosen the sauce back to its original creamy texture.
Common Mistakes in This Recipe
The most common misstep is using pre-shredded cheese straight from the bag. The anti-caking coating on those shreds prevents smooth melting, leaving the sauce oily and separated instead of glossy. A second frequent error is overcooking the pasta before it ever reaches the oven, which results in a soft, collapsing texture once baked with the sauce.
Rushing the roux is another issue home cooks run into, either skipping the two-minute cook time or cranking the heat too high, which leaves a raw, pasty flavor in the finished sauce. Overheating the cheese sauce is equally problematic, since cheese added over direct high heat tends to seize and turn grainy rather than melting smoothly.
Many bakers also skip warming the milk, which slows thickening and increases the risk of lumps forming in the béchamel. Finally, under-seasoning is a quiet but common flaw, since cheese needs a firm hand with salt and pepper to taste balanced rather than flat or one-dimensional once baked.
Solutions to Common Mistakes
Always buy block cheese and grate it yourself just before use. It takes a few extra minutes but guarantees a smooth, velvety sauce every time. Cook your pasta one to two minutes under package instructions, since the residual heat from baking finishes the job without turning it to mush.
Give your roux the full two minutes over medium heat, watching for a pale golden color and a lightly toasted aroma before adding liquid. Always remove the pan from heat before stirring in cheese, allowing the residual warmth to melt it gently and evenly.
Warm your milk in the microwave or on the stovetop before adding it to the roux, which prevents lumps and speeds up thickening considerably. Taste your sauce before combining with pasta, adjusting salt, pepper, and spices confidently, since pasta will dull seasoning once mixed and baked.
Nutritional Information (approx. per serving)
- Calories: 520 kcal
- Protein: 21 g
- Carbohydrates: 42 g
- Fat: 30 g
- Saturated Fat: 18 g
- Fiber: 2 g
- Sugar: 6 g
- Sodium: 540 mg
- Calcium: 35% DV
Cheese is a genuinely strong source of calcium and protein, both essential for maintaining bone density and supporting muscle repair throughout the day. A single serving of this bake delivers a meaningful portion of your daily calcium needs, which is easy to overlook in a dish often labeled as indulgent comfort food.
Whole milk and cream also contribute vitamin A and vitamin D, nutrients that work together to support immune function and healthy vision. Pairing this dish with a vegetable side, such as steamed broccoli or a leafy salad, rounds out the plate with fiber and micronutrients the pasta alone won’t provide.
Homemade versions like this one also let you control sodium and fat levels directly, unlike boxed alternatives loaded with preservatives and artificial flavoring. Choosing reduced-fat milk or cutting back slightly on cheese are simple ways to lighten the dish without sacrificing its signature creamy texture.
Storage Instructions
Let leftovers cool completely before transferring them to an airtight container, since trapped steam speeds up spoilage and softens the texture unevenly. Stored properly in the refrigerator, this mac and cheese keeps well for three to four days without losing much of its original creaminess.
For longer storage, portion the cooled casserole into freezer-safe containers or a heavy-duty freezer bag, pressing out excess air before sealing. Frozen mac and cheese holds its quality for up to two months, though the texture is best when reheated gently rather than microwaved at full power.
To reheat from the refrigerator, warm portions in a covered dish in the oven at 350°F, or use the stovetop with a splash of milk stirred in to loosen the sauce. This revives the creamy consistency far better than a dry microwave reheat.
If reheating from frozen, thaw overnight in the refrigerator first for the most even results. Baking from frozen is possible but requires significantly longer covered baking time before the center reaches a safe, fully heated temperature throughout.
Suggestions
Serve this mac and cheese alongside something acidic or fresh to balance its richness, such as a simple arugula salad with lemon vinaigrette or quick pickled red onions. The contrast keeps each bite feeling exciting rather than heavy, especially when serving it as a main course.
For protein, shredded rotisserie chicken, blackened shrimp, or pulled pork all fold beautifully into the finished dish or sit well as a topping. This turns the casserole from a side dish into a satisfying, complete dinner without much extra effort on busy weeknights.
If you’re cooking for a crowd, consider doubling the recipe in a larger baking dish rather than making two separate batches, since baking time only increases slightly. This keeps the process efficient without sacrificing the texture of the finished bake.
Leftover sauce, if you have extra, freezes well on its own and makes an excellent base for a quick cheese-topped baked potato or vegetable gratin later in the week.
Seasonal Relevance
Mac and cheese has a natural home in colder months, when rich, baked comfort food feels especially welcome at the dinner table. It shows up often around Thanksgiving and winter holiday spreads, standing confidently alongside roasted meats and heavier sides without feeling out of place.
That said, this dish adapts easily across seasons with small adjustments. In spring or summer, lightening it with fresh herbs, a squeeze of lemon, or folding in seasonal vegetables like peas or asparagus keeps it feeling appropriate for warmer weather gatherings and cookouts.
Back-to-school season is another natural moment for this recipe, since it reheats well for lunches and satisfies picky eaters without much persuasion. Its make-ahead friendliness makes it a practical addition to busy weeknight rotations once routines pick back up in the fall.
Ultimately, a well-made baked mac and cheese doesn’t feel tied to a single calendar moment. Its comfort-food appeal, paired with easy adaptability, means it earns a spot on the table year-round rather than only during holiday season.
Final Words
Homemade mac and cheese rewards a little patience with a result that boxed versions simply can’t touch. The technique here isn’t complicated, but each step, from grating your own cheese to cooking a proper roux, adds up to a noticeably better finished dish.
This is the kind of recipe worth committing to memory, since the ratios and method translate well to endless variations down the line. Once you understand how the béchamel and cheese interact, you can confidently swap in different cheese blends or mix-ins based on what’s in your fridge.
It’s a forgiving recipe for beginners, too, as long as you respect the two trouble spots: cooking the roux fully and melting the cheese off direct heat. Master those two moments and the rest comes together easily.
Whether it’s a weeknight dinner, a potluck contribution, or a holiday side dish, this recipe consistently delivers. Keep it in your regular rotation, and don’t be surprised when it becomes the version everyone specifically requests by name.
Frequently Asked Questions
Can I make this mac and cheese ahead of time and bake it later?
Yes. Assemble the full casserole, cover tightly, and refrigerate for up to 24 hours before baking. Add roughly 10 extra minutes to the covered baking time since it’s starting cold, then uncover to brown the top as directed.
Why did my cheese sauce turn grainy instead of smooth?
Grainy sauce usually means the cheese was added over direct heat or cooked too long afterward. Always remove the pan from heat before stirring in cheese, and use freshly grated block cheese rather than pre-shredded bags for the smoothest results.
Can I use a different pasta shape instead of elbow macaroni?
Absolutely. Shells, cavatappi, and rigatoni all work well since their curves and ridges hold onto the cheese sauce nicely. Just cook whichever shape you choose one to two minutes under package directions before baking.
Creamy Homemade Mac and Cheese from Scratch
8
servings20
minutes25
minutes520
kcalRich, velvety baked mac and cheese made with a real béchamel, sharp cheddar, and Gruyère. Grating your own cheese guarantees a silky, restaurant-quality sauce every single time.
Ingredients
16 oz elbow macaroni
4 tablespoons unsalted butter
4 tablespoons all-purpose flour
3 cups whole milk, warmed
1 cup heavy cream
4 oz cream cheese, softened
3 cups sharp cheddar, freshly grated
1 cup Gruyère or Monterey Jack, freshly grated
1 teaspoon salt
1/2 teaspoon black pepper
1/2 teaspoon garlic powder
1/4 teaspoon smoked paprika
1/4 teaspoon ground mustard
1 cup panko breadcrumbs (optional topping)
2 tablespoons melted butter (optional topping)
4 slices cooked bacon, crumbled (optional)
1/2 cup caramelized onions (optional)
1 cup steamed broccoli florets (optional)
1/4 teaspoon cayenne pepper (optional)
2 tablespoons chopped fresh chives (optional garnish)
Directions
- Boil salted water and cook macaroni 1–2 minutes under package time; drain and toss with a little olive oil.
- Melt butter in a saucepan, whisk in flour, and cook 2 minutes until pale gold to form the roux.
- Slowly whisk in warmed milk and cream; cook until thickened enough to coat a spoon.
- Add cream cheese in pieces, whisking until fully melted into the béchamel.
- Remove pan from heat, then stir in cheddar and Gruyère gradually until smooth and glossy.
- Season with salt, pepper, garlic powder, smoked paprika, and ground mustard; adjust to taste.
- Fold macaroni into the sauce along with any optional mix-ins.
- Pour into a buttered baking dish and top with buttered panko if using.
- Bake uncovered at 375°F for 20–25 minutes until bubbling and golden.
- Broil 1–2 minutes for extra color if desired, then rest 5 minutes before serving.
Recipe Video
Notes
- Always use freshly grated block cheese, never pre-shredded, for a smooth sauce.
- Undercook the pasta slightly since it finishes cooking in the oven.
- Remove the pan from heat before adding cheese to prevent graininess.
- Warm the milk beforehand to prevent lumps and speed up thickening.
- Can be assembled up to 24 hours ahead and refrigerated before baking.
- Reheats best with a splash of milk, either in the oven or on the stovetop.
