If you’re searching for a creamy macaroni and cheese recipe that satisfies and impresses, look no further. There are many ways to make homemade mac and cheese and this is my favorite. It’s extra cheesy with a little bacon and garlicky spinach for flavor.

It was a bone-chilling winter. I can’t believe I’m starting this post talking about THE WEATHER, but the frigid temperatures definitely inspired this dinner. On a cold night where nothing sounded appealing except for cheesy covered noodles, I made the best homemade macaroni and cheese. And this is coming from someone who doesn’t even really like pasta.
(Yes, we do exist!)
But somehow bacon and cheese sauce fixes everything. Lololol

Why You’ll Love This Mac & Cheese Recipe
I call this company-worthy macaroni and cheese. It’s the kind of dressed up macaroni and cheese recipe that satisfies AND impresses everyone at the table. After falling in love the first time, I made this recipe again when our friends came over for dinner. Every single one asked me for the recipe. Every single one. Here’s why:
- Homemade 3 cheese sauce
- Sauce to noodle ratio (extra saucy!)
- A small handful of sautรฉed garlic spinach
- Crispy bacon
- Crunchy breadcrumbs
If you need a fancied-up, yet totally approachable dinner… make this macaroni and cheese.

How to Make Homemade Mac and Cheese
Have you ever made macaroni and cheese from scratch before? I shared a recipe for baked mac and cheese in 2017, then realized that it’s OK to go heavier on the creamy factor. I started with that recipe, changed its tune a bit, and this cheesy masterpiece was born. Let me teach you how to make it.
- Cook the extras: Cook & chop the bacon, then sautรฉ the spinach with a little garlic. You can cook both ahead of time if needed.
- Cook the noodles: Cook the noodles until tender, drain, then toss with a little butter to prevent them from sticking together.
- Begin the cheese sauce on the stove: Like all great recipes, homemade macaroni and cheese begins with butter. Melt butter on the stove, then add flour. The flour soaks up the butter, see left photo below. We’re making a “roux.” Roux is typically the base of gravies, soups, and my nacho cheese sauce.
- Add milk, half-and-half, & cheese: Whisk in milk and half-and-half, then bring to a simmer. The sauce will begin to thicken. Add the cheese.
- Pour cheese sauce over noodles: Stir the cheese sauce and noodles together, then add bacon and sautรฉed spinach. If you didn’t think mac & cheese could get any better, add bacon and garlicky spinach.
- Optional: You can serve right away or bake in a big casserole dish with some breadcrumbs and shredded parmesan cheese sprinkled on top.
Making the cheese sauce:


Overview: Macaroni and Cheese Sauce Ingredients
- Butter
- Flour
- Milk
- Half-and-half
- Salt
- Ground Mustard
- Shredded Cheese
Use a mix of whole milk and half-and-half. Using all whole milk creates a thinner cheese sauce. Heavy cream creates a thick-as-a-brick cheese sauce. Using a combination of whole milk and half-and-half creates the perfect sauce consistency.
How about the ground mustard? Your macaroni & cheese will NOT taste like mustard. Ground mustard is a traditional ingredient in most mac and cheese recipes because it adds a sharp kick and depth of flavor. Thatโs the same reason I use it in this ham & cheese strata and ham and potato casserole.
What Cheese Do I Use?
For truly remarkable macaroni and cheese, use a combination of cheeses. I recommend white cheddar, regular sharp cheddar, and a fun cheese like smoked gouda or Gruyere. Grate it at home so it’s soft and fresh. (I love this particular cheese grater!)
We’re reaching Stouffer’s macaroni and cheese level:

You have options with this recipe. You can prepare it as stovetop macaroni and cheese or baked macaroni and cheese. It’s ready to serve right after you stir the sauce and noodles together. Or you can spoon it into a casserole dish, top with breadcrumbs and parm cheese and bake. Breadcrumbs add a lovely crisp on top!
This recipe yields a big casserole, so it’s wonderful for potlucks and other large gatherings. Feel free to halve the recipe for a smaller crowd or freeze leftovers for later.
How to Freeze Homemade Mac and Cheese
You can freeze the prepared mac and cheese for another day. To freeze, cool macaroni and cheese completely, transfer to a freezer-friendly dish or container, cover tightly, then freeze up to 3 months. Thaw for 24 hours in the refrigerator. Storing options for freezer:
- Pyrex glass dish with lid– can go right into the oven to bake.
- Disposable foil dish with lid– can go right into the oven to bake.
How to reheat frozen macaroni and cheese: Thaw in the refrigerator, then cover with aluminum foil and bake at 350ยฐF (177ยฐC) for about 45 minutes or until warm throughout. Or skip thawing and bake frozen for 1 hour and 15 minutes, or until warm throughout.

Why is My Macaroni & Cheese Grainy?
Let me help you prevent grainy macaroni and cheese.
- Whisk the butter and flour together vigorously. Make sure the two are completely combined and form a thick, smooth paste.
- The cheese was over-cooked. Remove from heat as soon as the cheese melts.
- Heat was too high when cooking the roux. Some stoves are simply hotter than others. Slightly lower the heat next time.
- Do not use pre-shredded cheese. Make sure you are shredding cheese right off the block. It’s extra moist and melts easier. Use fresh, unopened cheese.

While my other baked macaroni & cheese recipe is great, you’ll adore this creamier fancied-up version. White cheddar makes a truly decadent mac and cheese. I love using it in my creamy butternut squash mac and cheese, too. (Which you must try next!)
Print
Company-Worthy Mac and Cheese
- Prep Time: 15 minutes
- Cook Time: 35 minutes
- Total Time: 1 hour
- Yield: 8 servings
- Category: Dinner
- Method: Cook
- Cuisine: American
Description
This is my fancied-up version of creamy macaroni and cheese. Feel free to skip the bacon and spinach (steps 1 and 2) for a quicker mac and cheese recipe. Baking is optional, but the baked breadcrumb and parmesan topping add a wonderful crisp and flavor.
Ingredients
- 12 slices uncooked bacon
- 1 teaspoon minced garlic
- 3 cups (90g) fresh spinach (optional; see note)
- 1 pound dry elbow pasta
- 1/2 cup (8 Tbsp; 113g) unsalted butter, divided
- 1/4 cup (31g) all-purpose flour
- 3 cups (720ml) whole milk
- 1 cup (240ml) half-and-half (or more whole milk)
- 1/2 teaspoon salt
- 1/2 teaspoon ground mustard
- 5 cups (560g) shredded cheese (I recommend 3 cups sharp white cheddar, 1 cup regular sharp cheddar, and 1 cup gouda)
- optional: 1/2 cup (45g) breadcrumbs, such as Panko
- optional: 1/2 cup (40g) shredded parmesan cheese
- optional: chopped fresh parsley for garnish
Instructions
- Cook bacon according to package directions. Chop into small pieces. You’ll have about 3/4 cup.
- Sautรฉ spinach with garlic. See note. You can skip the spinach if desired.
- Cook the pasta until al dente, about 1 minute less than the package cook time. Drain the cooked pasta, pour into a large bowl and stir in 2 Tablespoons of butter. Set pasta aside.
- In a large saucepan, melt remaining 6 Tablespoons of butter over medium heat. Once melted, whisk in the flour to form a thick paste. Cook and whisk the paste for 1 minute, then slowly whisk in the milk, half-and-half, salt, and ground mustard. Bring to a simmer, then whisk in the cheese until smooth. Remove from heat.
- Pour the sauce over the buttered pasta, then stir in the bacon and spinach. Serve right away with a sprinkle of fresh parsley or continue with the recipe to bake.
- To bake: Preheat oven to 400ยฐF (204ยฐC). Spread macaroni & cheese into a greased 9×13 inch baking dish. Top with breadcrumbs and parmesan cheese. Cover with aluminum foil and bake for 10 minutes. Remove foil and bake for 10 more minutes.
- Remove from the oven and cool for 10 minutes. Garnish with fresh parsley, if desired, before serving. Leftovers get pretty thick in the refrigerator as the noodles soak up the sauce, but warming them up in the microwave thins out the sauce again.
Notes
- Make Ahead & Freezing Instructions: To freeze, prepare the macaroni and cheese through step 4. Pour sauce over pasta, then stir in the bacon and sautรฉed spinach, if using. Spoon into a greased 9×13 inch freezer-friendly dish. (Save breadcrumbs and parmesan cheese for right before baking.) Cover tightly and freeze up to 3 months. Thaw for 24 hours in the refrigerator, then top with breadcrumbs and parmesan cheese (if desired), cover with aluminum foil and bake at 350ยฐF (177ยฐC) for about 45 minutes or until warm throughout. Or skip thawing and bake frozen for 1 hour and 15 minutes, or until warm throughout.
- Special Tools (affiliate links): 9×13-inch Baking Pan | Box Grater | Large Saucepan or Dutch Oven | Whisk
- Sautรฉed Spinach: You can skip the spinach if desired. Or replace with sautรฉed kale or steamed broccoli. To sautรฉ, add 1 teaspoon minced garlic and 3 cups fresh spinach or kale to a greased skillet. (You can use a drizzle of olive oil or some bacon grease if you just cooked the bacon.) Cook on medium heat until wilted, about 3-4 minutes. You’ll have around 1/2 cup.
- Milk & Half-and-half: This blend of whole milk & half-and-half is strongly recommended for creamiest most delicious sauce. I find heavy cream to be too thick for this recipe. For a less rich sauce, you can use all whole milk. If needed, you can use a lower fat or nondairy milk. Keep in mind that the sauce won’t be as thick.
- Cheese: Use a mix of freshly grated cheeses for best flavor. Grate it off the block. Pre-shredded cheese is typically a little drier.



















Reader Comments and Reviews
Does this recipe still work if I skip the bacon?
Yes!
Can I use just cheddar cheese for this recipe?
Sure can, we love the flavor combination of different cheeses, but cheddar will work just fine.
I made this recipe last night. Followed the recipe carefully, using freshly grated block cheeses, whole milk & half & half. The cheese sauce was not smooth, had a texture to it. The flavor of the recipe was good but I couldn’t get over the texture. I was so disappointed; wondering what in the world I did wrong. Thanks!
PS. We thought the bacon was a nice addition to the recipe.
Hi Kathleen, weโre happy to help troubleshoot. Make sure to very slowly pour/mix in the milk and half-and-half in step 4. If you add it all at once, the flour and butter mixture may not combine with the milk mixture correctly, which would lead to a grainy, lumpy sauce. Slower is better! Thank you for giving this one a try!
Here’s what I’ve learned that solves the grainy texture problem: add the shredded cheese only a handful at a time. Let each handful melt before adding the next. When I put the cheese in too quickly it always turns grainy.
Disaster. My issues and recommendations:
1. 5 cups of cheese.
Turns out this is not so simple. After shredding my blocked cheese, some cheeses are fluffy, others more dense. When I put the shredded cheese into the measuring cup, it is hard to tell what a cup of cheese really is. In my case, the recipe came out “over cheesed”. I recommend doing the following for those of us unable to adequately estimate a cup of cheese:
x ounces/or grams of sharp white cheddar, shredded.
y ounces/or grams of regular sharp cheddar, shredded
z ounces/or grams of gouda, shredded.
Now, there is no need to guess what a cup looks like.
2. I avoided prepackaged shredded cheeses and went to the deli cheese section of my grocery store. Here you find all kinds of specialty cheeses. I bought the 3 types recommended. Turns out, they were flavorless. Bland. I have no idea how to solve this, but I can tell you I spent a lot of money on the cheese. This is NOT a cheap recipe, which I believe Mac n’ cheese should be. Suggestions on how to find decent cheese at reasonable prices would be appreciated.
3. When you state the spinach can be skipped, which I did, I assume that meant the garlic can be skipped too. Please confirm.
All of your other recipes have been winners.
Hi Bernard, thank you for taking the time to leave feedback, and I’m sorry to hear you didn’t enjoy this recipe. For hard and semi-hard cheeses such as cheddar and gouda, the measurement for shredded is approximately 1 cup = 113g = 4 ounces. It might be a little more or less than that depending on the specific cheese and the size of your shreds, but it’s a good rule of thumb to go by. You can skip the garlic as well if you prefer, but it does add significant flavor. Thanks for giving this recipe a try!
I love to see a proper macaroni cheese recipe. I haven’t tried it but it looks right. One suggestion is to cook the white sauce first; add the milk then cook it well. Get the Bรฉchamel right, then add the cheese. The cheese will melt easily so I mix it in just before it all comes together. That avoids overcooking the cheese.
This recipe says you can freeze but can you make it the day before an event and keep it in the fridge overnight?
Hi Heather, yes, making it one day before and refrigerating it should be fine. Enjoy!
I have made this recipe many times and it is the best! I always bake it and it so so yummy! It is perfect for beginner mac and cheese makers.
Instead of white cheddar, can regular yellow cheddar work? So, a combo of regular cheddar (like Tilamook), sharp white, and gouda or gruyere. Would that work just as well?
Hi Emily, yes, you can use regular yellow cheddar instead. Enjoy!
Thanks! Would it work to make this a few hours before the meal, and then bake right before we eat?
Hi Emily, yes, that works!
We LOVED this recipe! Wasn’t sure about the addition of spinach, but it was delicious. Might add a little diced jalapeno next time. Will definitely be making this recipe again.
Is there any nutritional information available for this recipe?
Hi Jayne, We donโt usually include nutrition information as it can vary between different brands of the same ingredients. Plus, many recipes have ingredient substitutions or optional ingredients listed. However, there are many handy online calculators where you can plug in and customize your exact ingredients/brands. Readers have found this one especially helpful: https://www.verywellfit.com/recipe-nutrition-analyzer-4157076
This was really really delicious and smooth. I used what I had and needed to use up: 1 c half and half, 1/2 c heavy cream, 2 c whole milk and another cup of the reserved pasta water to thin it out. Loved the idea of white cheddar and Gouda for the cheese! Used peppered bacon and sautรฉed the spinach in the bacon greaseโฆseriously so yummy!!
I only have heavy cream and 2% milk on hand. Do you think the 2% milk would help offset the heavy cream thickness? Or will it just ruin the sauce altogether?
Hi Sarah, heavy cream really is too thick for this sauce, so we’d recommend waiting until you can use the whole milk/half-and-half combination for best results.
Not sure what I did wrong but this recipe produced a soupy, granular sauce with little flavor other than bacon. Not a good experience.
Hi John, we’re happy to help troubleshoot. Did you make any ingredient substitutions by chance? The blend of whole milk & half-and-half is strongly recommended for creamiest sauce. Did the sauce thicken at all after simmering? You can let it simmer for a few minutes to help thicken it a bit more. Thank you for giving this one a try!
My husband doesn’t like mac and cheese,tonight he not only stated how delicious it is he went for seconds!!!!
This recipe is delicious. Gouda really adds a great flavor. Shredding the cheese from a block is a step that you cannot skip if you want creamy mac n cheese. I think a lot of people don’t understand that. It is VERY tempting to buy pre-shredded cheese to save a ton of time but it does not melt smoothly.
Also, I use Carnation milk. I don’t know what it is, but there is an ingredient in it that helps with making mac n cheese creamy and smooth.
Thank you, Sally. Your site is my go-to for all my baking needs. Never disappoints, i.e., clarifying what exactly room temp butter actually is. I am older and always thought that meant soft butter. Huge difference in my cookies.
The absolute best macaroni and cheese recipe! Iโve tried so many and this is by far the very best one.
Hi Sally! Can I use whole wheat elbow noodles instead of regular? Thank you! Looking forward to trying this soon.
Hi Emily, absolutely!
Do you have a recipe for cookies made with a Dove candy put on after baking? I made these once but canโt find recipe.
Hi Susan, we do! Here are our sparkle sweetheart cookies. We also have a peanut butter version, too.
I’m looking to make this for a Friendsgiving at work. Can this be made the day before and then heated up and kept warm in a crockpot for a couple hours for multiple lunch breaks (3 hour span)?
Hi Sue, that should work just fine!
Had a really good flavor but it was not creamy like I was expecting
My new fav Mac n Cheese recipe. I halved the recipe which worked out perfectly and the sauce was a good consistency for the addition of the cheese. I used some sharp cheddar and gouda but I felt the sauce only needed 2 cups in total rather than 2-1/2. I also added Parmesan and Panko breadcrumbs on top as I like the crunch! A delicious recipe and I highly recommend it.
Hi from Argentina!
Another hit from your recipes!
I made this and heated it up the next day for 45 minutes at 3:50. I felt it was very dry
Can i make this awesome looking mac and cheese day before storing in fridge and bake it next day????
Hi Diane, yes, that works just fine!
Looks so good I’m making it tonight or tomorrow!!
This is fantastic! My husband told me that Iโm not allowed to make any other Mac n cheese recipes now. Just this one.
I am a 15-year-old cook and this is my favorite yet because it is simple and fun as well as delicious.
outstanding – did not disappoint ๐