The Best Creamy Homemade Mac and Cheese Recipe (Ultra Cheesy, Rich & Easy)

A skillet of creamy baked macaroni and cheese with a golden breadcrumb topping under the title The Best Mac & Cheese
Jump to Recipe

If I had to choose between this or potato salad as my barbecue side dish, I wouldn't be able to decide. When they're both available, watch out!

There are few comfort foods more satisfying than a warm bowl of homemade macaroni and cheese. Rich, creamy, and loaded with perfectly melted cheese, this classic recipe has earned its place on dinner tables for generations. Whether you're serving it alongside barbecue, bringing it to a holiday gathering, or enjoying a cozy family dinner, homemade mac and cheese always feels like a special occasion.

While boxed macaroni and cheese certainly has its place for convenience, nothing compares to making it from scratch. A homemade cheese sauce delivers incredible flavor, an unbelievably creamy texture, and that irresistible cheese pull everyone loves. The difference is noticeable from the very first bite.

The secret to truly exceptional macaroni and cheese isn't using dozens of different cheeses or complicated techniques. Instead, it's about choosing cheeses that melt beautifully, building a smooth, velvety sauce, seasoning it properly, and cooking the pasta just enough so it stays perfectly tender.

This recipe has been carefully balanced to create a rich sauce without becoming overly heavy. Sharp cheddar provides bold flavor, white cheddar adds smooth creaminess, Gruyère contributes incredible meltability and subtle nuttiness, while a small amount of Parmesan brings savory depth that makes the entire dish taste more complex.

You'll also notice a tiny amount of Dijon mustard and smoked paprika in the sauce. These aren't there to make the dish taste like mustard or smoked spices. Instead, they quietly enhance the natural flavor of the cheese, giving the finished macaroni and cheese a richer, more developed taste. Dijon mustard should be a refrigerator staple. It's used in a ton of recipes. I pull it out several times a week.

The result is everything homemade macaroni and cheese should be:

• Ultra creamy

• Smooth and silky

• Rich without being greasy

• Perfectly seasoned

• Packed with real cheese flavor

• Easy enough for weeknights

• Impressive enough for holidays and entertaining

Whether you're making this for Thanksgiving, Christmas dinner, Sunday supper, a potluck, or simply because you're craving comfort food, it's a recipe you'll find yourself returning to again and again.

One of the best things about this recipe is its versatility. Serve it exactly as written for an unbelievably creamy stovetop macaroni and cheese, or finish it in the oven with a buttery golden topping for a classic baked version. Both are absolutely delicious.

Because the sauce is made from scratch, you also have complete control over the ingredients. There's no powdered cheese, artificial flavors, preservatives, or unnecessary additives—just real butter, milk, cream, freshly grated cheese, and simple pantry seasonings that come together to create something truly special.

Another advantage of homemade macaroni and cheese is that it reheats beautifully when prepared correctly. The carefully balanced sauce stays creamy instead of becoming oily or separating, making leftovers almost as delicious as the day it was made.

If you've ever struggled with grainy cheese sauce, dry baked macaroni, or bland flavor, don't worry. Throughout this guide, you'll learn the simple techniques that professional kitchens use to create perfectly smooth cheese sauce every single time.

By the end, you'll have a dependable recipe that's worthy of becoming your family's go-to macaroni and cheese.

A white baking dish of homemade baked macaroni and cheese with a golden bubbly cheese topping

Why You'll Love This Recipe

There are hundreds of macaroni and cheese recipes available, but this one consistently stands out because every ingredient has been chosen with purpose.

It starts with freshly grated cheese rather than pre-shredded cheese. While pre-shredded cheese is convenient, it's coated with anti-caking agents that prevent it from melting smoothly. Grating your own cheese takes only a few extra minutes and creates a dramatically creamier sauce.

The cheese blend also matters. Sharp cheddar provides the classic flavor everyone expects, while white cheddar contributes a mellow richness that balances the sharpness. Gruyère melts exceptionally well and gives the sauce a luxurious texture, and Parmesan adds a savory finish without overpowering the other cheeses.

The sauce itself begins with a traditional butter-and-flour roux. This classic French technique gently thickens the milk and cream, creating a silky base that allows the cheese to melt evenly. When done correctly, the sauce becomes smooth enough to coat every piece of pasta without feeling overly thick or gluey.

Unlike recipes that rely entirely on heavy cream, this version uses both whole milk and heavy cream. The milk keeps the sauce light enough to remain pourable, while the cream adds just enough richness to make every bite luxurious.

The seasonings are intentionally simple. Garlic powder and onion powder add gentle savory notes without overwhelming the cheese. Smoked paprika contributes warmth and depth, while Dijon mustard quietly enhances the cheddar's natural sharpness. Freshly ground black pepper ties everything together.

Another feature that makes this recipe special is its texture. The macaroni is cooked just until al dente before being added to the sauce. This prevents the pasta from becoming overly soft, especially if you choose to bake the finished dish.

Finally, this recipe is remarkably forgiving. It can be served immediately as a creamy stovetop macaroni and cheese or transferred to a baking dish, topped with buttery breadcrumbs, and baked until golden brown. Both versions deliver incredible flavor with very little additional effort.

Ingredients

For the Pasta

  • 1 pound (16 ounces) elbow macaroni
  • 1 tablespoon kosher salt (for boiling the pasta)

For the Cheese Sauce

  • 6 tablespoons unsalted butter
  • ⅓ cup all-purpose flour
  • 4 cups whole milk, warmed
  • 1 cup heavy cream, warmed
  • 1 teaspoon Dijon mustard
  • 1 teaspoon Worcestershire sauce
  • 1 teaspoon garlic powder
  • 1 teaspoon onion powder
  • ½ teaspoon smoked paprika
  • 1 teaspoon kosher salt, plus more to taste
  • ½ teaspoon freshly ground black pepper

Cheese

  • 3 cups freshly shredded sharp cheddar cheese (about 12 ounces)
  • 2 cups freshly shredded white cheddar cheese (about 8 ounces)
  • 1½ cups freshly shredded Gruyère cheese (about 6 ounces)
  • ½ cup freshly grated Parmesan cheese (about 2 ounces)

Optional Buttery Topping (For Baked Mac and Cheese)

  • 1 cup panko breadcrumbs
  • 2 tablespoons melted butter
  • 2 tablespoons grated Parmesan cheese
  • ½ teaspoon smoked paprika
  • 1 tablespoon chopped fresh parsley (optional)

Ingredient Notes

Elbow Macaroni

Traditional elbow macaroni remains the best choice because its curved shape holds onto the creamy cheese sauce beautifully. However, shells, cavatappi, pipette, or cellentani also work wonderfully if you prefer a pasta with extra ridges that capture even more sauce.

Cook the pasta only until it reaches an al dente texture. It will continue cooking slightly once combined with the hot cheese sauce, ensuring it stays perfectly tender rather than becoming mushy.

Sharp Cheddar Cheese

Sharp cheddar is the heart of classic macaroni and cheese. It provides the bold, familiar flavor that most people associate with homemade mac and cheese. Aged sharp cheddar delivers even more complexity, though extra-sharp varieties can sometimes become slightly grainy if overheated, so keeping the heat low is important.

White Cheddar

White cheddar brings additional creaminess and a slightly milder flavor that balances the sharper notes of yellow cheddar. Together, they create a fuller, richer cheese profile than either cheese could achieve on its own.

Gruyère

Gruyère is one of the best melting cheeses available, which is why it's often used in fondue and French gratins. It melts into the sauce effortlessly, adding a silky texture and subtle nutty flavor that elevates the entire dish without overpowering it.

Parmesan

Although only a small amount is used, Parmesan adds natural umami and enhances the savory character of the sauce. Freshly grated Parmesan works best because it melts more smoothly than the shelf-stable varieties sold in shaker containers.

Whole Milk

Whole milk provides the perfect balance of richness without making the sauce overly heavy. Lower-fat milk can produce a thinner sauce, while using only heavy cream can make the finished dish feel too rich.

Heavy Cream

Heavy cream contributes luxurious body and helps keep the cheese sauce velvety smooth. Combined with whole milk, it creates a consistency that's thick enough to coat the pasta beautifully while remaining wonderfully creamy.

Dijon Mustard

Don't skip the Dijon mustard. At just one teaspoon, it won't make your macaroni and cheese taste like mustard. Instead, it enhances the sharpness of the cheddar and adds subtle depth that most people notice only as "better cheese flavor." Like I said earlier, this should be a staple in everyone's home. It's in so many delicious recipes. Plus, it's good on sandwiches. 

Worcestershire Sauce

A small amount of Worcestershire sauce adds a savory background note that rounds out the richness of the cheese. Like the mustard, it blends seamlessly into the sauce without becoming a dominant flavor.

Instructions

  1. Bring a large pot of water to a rolling boil. Add 1 tablespoon kosher salt, then cook the macaroni until just al dente, usually about 1 minute less than the package directions. The pasta should still have a slight bite because it will continue cooking in the hot cheese sauce (and in the oven if you're making the baked version).
  2. Before draining, reserve ½ cup of the pasta cooking water. This starchy water can be used later if you want to loosen the sauce.
  3. Drain the macaroni well, but do not rinse it. The starch left on the pasta helps the cheese sauce cling to every piece.
  4. While the pasta cooks, warm the milk and heavy cream together in a saucepan or microwave until steaming but not boiling. Warm dairy blends much more smoothly into the roux than cold milk.
  5. In a large Dutch oven or heavy-bottomed pot, melt the butter over medium heat.
  6. Sprinkle in the flour while whisking continuously.
  7. Continue whisking for about 2 to 3 minutes, until the mixture becomes smooth and lightly golden. This cooks out the raw flour taste without browning the roux too much.
  8. Slowly pour in the warm milk mixture, about ½ cup at a time, whisking constantly after each addition. Adding the liquid gradually helps prevent lumps and creates a silky smooth sauce.
  9. Once all the milk has been added, continue cooking over medium heat, whisking often, for 5 to 7 minutes, until the sauce has thickened enough to coat the back of a spoon.
  10. Stir in:
  • Dijon mustard
  • Worcestershire sauce
  • Garlic powder
  • Onion powder
  • Smoked paprika
  • Salt
  • Black pepper
  1. Reduce the heat to low. This is one of the most important steps. Cheese should never be added to a boiling sauce, as high heat can cause it to become grainy or separate.
  2. Add the cheeses one handful at a time in this order:
  • Sharp cheddar
  • White cheddar
  • Gruyère
  • Parmesan

Whisk each addition until completely melted before adding the next handful.

Once finished, the sauce should be glossy, smooth, and incredibly creamy.

  1. Taste the sauce before adding the pasta. Add additional salt or pepper if needed. Different brands of cheese vary in saltiness, so seasoning at the end gives the best results.
  2. Fold the cooked macaroni into the cheese sauce using a large spoon or silicone spatula until every piece is completely coated.
  3. If the sauce feels slightly thicker than you'd like, stir in a tablespoon or two of the reserved pasta water until it reaches your preferred consistency.

At this point, your stovetop macaroni and cheese is ready to serve.

It will be incredibly creamy, rich, and perfectly cheesy.

Optional Baked Macaroni and Cheese

If you love a crisp golden topping with creamy pasta underneath, the baked version is absolutely worth the extra few minutes.

Preheat your oven to 375°F (190°C).

Lightly butter a 9 × 13-inch baking dish.

Pour the prepared macaroni and cheese into the dish, spreading it into an even layer.

In a small bowl, combine:

  • 1 cup panko breadcrumbs
  • 2 tablespoons melted butter
  • 2 tablespoons grated Parmesan
  • ½ teaspoon smoked paprika

Mix until the breadcrumbs are evenly coated.

Sprinkle the topping evenly over the macaroni.

Bake for 18 to 22 minutes, until the edges are bubbling and the topping is lightly golden.

For an even crispier crust, broil for 1 to 2 minutes, watching carefully to prevent burning.

Allow the macaroni and cheese to rest for about 5 minutes before serving. This helps the sauce settle while remaining wonderfully creamy.

Homemade mac and cheese recipe infographic with ingredients, step-by-step instructions, a baked version, and ingredient notes

Pro Tips for Perfect Mac and Cheese

The difference between good macaroni and cheese and truly unforgettable macaroni and cheese comes down to a handful of simple techniques.

Always Grate Your Own Cheese

Pre-shredded cheese contains anti-caking agents that keep the shreds from sticking together inside the bag. You can feel the texture difference if you compare store-bought shredded cheese with a pile of your freshly grated cheese.

Unfortunately, the anti-caking ingredients interfere with smooth melting.

Freshly grated cheese melts into a much silkier sauce.

Warm the Milk First

Adding cold milk directly to the roux can cause the sauce to thicken unevenly.

Warm milk incorporates much more smoothly and helps prevent lumps.

Cook the Flour

Don't rush the roux.

Cooking it for a few minutes removes any raw flour taste while maintaining its thickening power.

Keep the Heat Low

This is perhaps the biggest secret.

Cheese proteins become tough when overheated.

If the sauce boils after adding the cheese, it may become grainy or oily.

Low heat keeps everything silky.

Undercook the Pasta Slightly

Especially if baking.

Perfectly cooked pasta will continue absorbing moisture from the sauce.

Starting with al dente pasta ensures the finished dish stays tender instead of mushy.

Taste Before Serving

Cheeses vary dramatically in saltiness.

Always season at the end rather than relying on fixed amounts.

Delicious Variations

One of the reasons homemade macaroni and cheese is so beloved is how easy it is to customize.

Bacon Mac and Cheese

Fold in:

  • 8 slices cooked bacon, chopped

The smoky bacon pairs beautifully with the sharp cheddar.

Buffalo Chicken Mac and Cheese

Stir in:

  • 2 cups cooked shredded chicken
  • ¼ cup buffalo sauce

Top with sliced green onions before serving.

Lobster Mac and Cheese

Add:

  • 10 to 12 ounces cooked lobster meat

This luxurious version is perfect for holidays or date nights.

Jalapeño Mac and Cheese

Mix in:

  • 2 diced jalapeños
  • 4 ounces pepper jack cheese

The result has gentle heat without overpowering the cheese sauce.

Truffle Mac and Cheese

Finish with:

  • 1 to 2 teaspoons truffle oil
  • Extra Parmesan

A little goes a long way.

Three-Cheese White Mac and Cheese

Replace the yellow cheddar with additional white cheddar and Gruyère for an elegant all-white version.

What to Serve with Macaroni and Cheese

Although macaroni and cheese is satisfying enough to enjoy on its own, it also pairs beautifully with a variety of main dishes and vegetables.

Some of our favorite pairings include:

  • BBQ ribs
  • Pulled pork
  • Smoked brisket
  • Grilled steak
  • Fried chicken
  • Rotisserie chicken
  • Meatloaf
  • Honey glazed ham
  • Grilled sausages
  • Crispy chicken tenders

For vegetables, consider serving:

  • Roasted broccoli
  • Garlic green beans
  • Steamed asparagus
  • Brussels sprouts
  • Roasted carrots
  • Garden salad
  • Coleslaw
  • Corn on the cob

Fresh, crisp vegetables help balance the richness of the cheese sauce while creating a complete meal.

Storage

One of the best things about this homemade macaroni and cheese is that it stores surprisingly well when prepared properly. Because the cheese sauce is made with a balanced combination of butter, flour, milk, and cream, it remains smooth and creamy even after refrigeration.

Allow the macaroni and cheese to cool for about 20 to 30 minutes before transferring it to an airtight container.

Store leftovers in the refrigerator for up to 4 days.

While you can freeze macaroni and cheese, keep in mind that dairy-based sauces sometimes change texture slightly after thawing. It will still taste delicious, but the sauce may not be quite as silky as when freshly made.

If freezing, allow the macaroni and cheese to cool completely before placing it into freezer-safe containers.

Freeze for up to 2 months.

Thaw overnight in the refrigerator before reheating.

How to Reheat Macaroni and Cheese

The key to reheating macaroni and cheese is adding a little moisture back into the sauce.

Microwave

Place an individual serving into a microwave-safe bowl.

Add 1 to 2 tablespoons of milk.

Cover loosely.

Heat in 30-second intervals, stirring between each interval until hot.

The added milk helps restore the sauce's original creaminess.

Stovetop

Place the macaroni and cheese in a saucepan over low heat.

Add a splash of milk or cream.

Stir frequently until smooth and heated through.

Avoid high heat, which can cause the cheese sauce to separate.

Oven

Place the macaroni and cheese in a lightly buttered baking dish.

Add several tablespoons of milk over the top.

Cover with foil.

Bake at 350°F (175°C) for about 20 minutes, or until heated through.

Remove the foil for the last 5 minutes if you'd like to refresh the crispy topping.

Make-Ahead Tips

If you're entertaining or preparing for a holiday meal, this recipe is easy to make ahead.

Prepare the macaroni and cheese through the point where the pasta is combined with the cheese sauce.

Transfer it to a buttered baking dish, but do not add the breadcrumb topping yet.

Cover tightly and refrigerate for up to 24 hours.

Before baking, allow the dish to sit at room temperature for about 30 minutes.

Prepare the buttery breadcrumb topping, sprinkle it over the macaroni, and bake as directed. You may need to add an extra 5 to 10 minutes to the baking time if the dish is still quite cold.

This make-ahead method is perfect for Thanksgiving, Christmas, Easter, potlucks, and family gatherings because it allows you to spend less time in the kitchen when guests arrive.

Frequently Asked Questions

Why did my cheese sauce become grainy?

The most common cause is overheating the cheese. Cheese should always be added over low heat after the white sauce has finished thickening. Freshly grated cheese also melts much more smoothly than pre-shredded cheese.

Can I use pre-shredded cheese?

You can, but freshly grated cheese is highly recommended. Pre-shredded cheese contains anti-caking agents that can make the sauce slightly grainy and prevent it from becoming perfectly smooth.

Can I use different cheeses?

Absolutely. While the cheddar, Gruyère, and Parmesan combination creates exceptional flavor and texture, other great melting cheeses include Fontina, Gouda, Monterey Jack, Havarti, Colby, and mozzarella. Keep at least one flavorful cheese, such as sharp cheddar, in the mix for the best overall taste.

Why warm the milk before adding it?

Warm milk blends into the roux much more easily than cold milk. This helps create a silky sauce and reduces the chance of lumps forming.

Can I skip the Dijon mustard?

You can, but it's worth including. The small amount used doesn't make the sauce taste like mustard. Instead, it enhances the natural sharpness of the cheese and adds depth to the overall flavor.

Can I make this recipe gluten-free?

Yes. Substitute your favorite gluten-free elbow pasta and replace the all-purpose flour with a good-quality 1:1 gluten-free flour blend designed for cooking. The results are very similar.

What's the best pasta shape?

Classic elbow macaroni is the traditional choice, but shells, cavatappi, pipette, fusilli, and cellentani are also excellent because their curves and ridges hold onto more cheese sauce.

Why is my sauce too thick?

Cheese sauce naturally thickens as it cools. If it becomes thicker than you'd like, simply stir in a splash of warm milk until it reaches your desired consistency.

Estimated Nutrition

Per serving (based on 10 servings):

  • Calories: approximately 670
  • Protein: 28 g
  • Carbohydrates: 41 g
  • Fat: 43 g
  • Saturated Fat: 25 g
  • Cholesterol: 125 mg
  • Sodium: approximately 720 mg
  • Fiber: 2 g
  • Sugar: 7 g

Nutrition values are estimates and will vary depending on the specific brands of ingredients used.

Recipe Card

The Best Creamy Homemade Mac and Cheese

Prep Time: 20 minutes

Cook Time: 25 minutes

Total Time: 45 minutes

Servings: 10

Ingredients

Pasta

  • 1 pound (16 ounces) elbow macaroni
  • 1 tablespoon kosher salt (for pasta water)

Cheese Sauce

  • 6 tablespoons unsalted butter
  • ⅓ cup all-purpose flour
  • 4 cups whole milk, warmed
  • 1 cup heavy cream, warmed
  • 1 teaspoon Dijon mustard
  • 1 teaspoon Worcestershire sauce
  • 1 teaspoon garlic powder
  • 1 teaspoon onion powder
  • ½ teaspoon smoked paprika
  • 1 teaspoon kosher salt, plus more to taste
  • ½ teaspoon freshly ground black pepper
  • 3 cups freshly shredded sharp cheddar cheese (about 12 ounces)
  • 2 cups freshly shredded white cheddar cheese (about 8 ounces)
  • 1½ cups freshly shredded Gruyère cheese (about 6 ounces)
  • ½ cup freshly grated Parmesan cheese (about 2 ounces)

Optional Topping

  • 1 cup panko breadcrumbs
  • 2 tablespoons melted butter
  • 2 tablespoons grated Parmesan
  • ½ teaspoon smoked paprika
  • 1 tablespoon chopped parsley (optional)

Instructions

  1. Cook macaroni until al dente. Reserve ½ cup pasta water and drain.
  2. Warm the milk and cream.
  3. Melt butter in a large pot and whisk in the flour. Cook for 2 to 3 minutes.
  4. Slowly whisk in the warm milk mixture until smooth.
  5. Simmer until thickened.
  6. Stir in Dijon, Worcestershire, garlic powder, onion powder, smoked paprika, salt, and pepper.
  7. Reduce heat to low.
  8. Add cheeses one handful at a time, stirring until fully melted.
  9. Fold in the cooked macaroni.
  10. Add reserved pasta water if needed to loosen the sauce.
  11. Serve immediately, or transfer to a buttered baking dish.
  12. For baked macaroni and cheese, top with the breadcrumb mixture and bake at 375°F (190°C) for 18 to 22 minutes, then broil for 1 to 2 minutes if desired.

Popular Posts

The Best Buffalo Chicken Dip Recipe (Creamy, Cheesy & Easy to Make)

The Ultimate Charcuterie Board Guide: What to Put on a Charcuterie Board (Easy Ideas for Every Occasion)

Frozen Strawberry Lemonade Recipe (Easy, Refreshing & Perfect for Summer)