Bacon Mac and Cheese, Restaurant-Worthy at Home
This is my go-to bacon mac and cheese recipe, and it never lets me down.
I’ve made a lot of mac and cheese in my life, and this one is the version I’d actually put in front of guests without a second thought. The caramelized onions take real patience, low heat for the better part of an hour, but what they add, a deep, almost sweet savoriness, is what pushes this from good to genuinely gourmet.
Between the gruyere, the hickory bacon, and that long, slow onion cook, this tastes like something you’d order at a specialty restaurant and then spend the drive home wondering how to recreate. Here’s how.
Why You’ll Love This
The combination of gruyere, cheddar, and parmesan builds a sauce with more depth than a one-cheese mac ever could, and the caramelized onions add a rounded sweetness that plays beautifully against the smoky bacon. It’s rich, it’s a little indulgent, and it’s exactly the kind of dish people ask you to make again.
Why This Works
Cooling the roux base slightly before adding the cheese is the single most important technical detail here — cheese added to a base that’s too hot will separate and turn grainy instead of melting into a silky sauce. And shredding your own cheese from a block, rather than using the bagged pre-shredded kind, makes a real difference too, since packaged shredded cheese is coated in anti-caking agents that keep it from melting as smoothly.
How to Make Bacon Mac and Cheese
Step 1: Caramelize the Onions
Slice the onions into even quarter-inch slices. Heat butter and olive oil in a medium skillet over medium heat, add the onions, and toss to coat. Let them cook down slowly for 40 to 50 minutes, stirring every few minutes and reducing the heat if they start browning too fast. Remove and set aside once deeply caramelized.
Step 2: Cook the Bacon
While the onions cook, cut the bacon into thirds and add to a large, high-walled skillet over low heat. Let it cook low and slow until crispy on each side, then remove to a paper towel-lined plate. Reserve 4 tablespoons of the bacon drippings.
Step 3: Make the Roux
Heat the reserved bacon drippings (or butter, if you don’t have enough) over medium heat. Whisk in the flour and stir continuously for 2 minutes.
Step 4: Build the Sauce Base
Add the heavy cream in splashes, stirring continuously so the roux doesn’t break. Add the milk the same way. Stir in the mustard powder, thyme, garlic powder, and hot sauce. Bring to a boil, then reduce to a simmer.
Step 5: Cook the Pasta
While the sauce simmers, cook the pasta shells in salted boiling water until just al dente, being careful not to overcook. Drain.
Step 6: Add the Cheese
Reduce the heat to low and let the sauce base cool slightly. Gradually sprinkle in the shredded cheese, stirring continuously until fully incorporated and smooth.
Step 7: Combine and Finish
Stir in the caramelized onions, then the drained pasta, using a silicone spatula to combine everything gently. Roughly chop the bacon and sprinkle it over the top, stirring some in if you like. Garnish with parsley and serve.
Tips for the Best Results
- Shred your cheese from a block rather than using pre-shredded bags — it melts far smoother and tastes better.
- Let the sauce base cool slightly before adding the cheese, or it can separate and turn grainy.
- If you’re short on time, the caramelized onions can be left out, though they add a real gourmet touch.
- Use quality, thick-cut bacon — it makes a noticeable difference here.
- Save a bit of pasta water and stir it in at the end if the sauce needs loosening.
Variations to Try
Macaroni or cavatappi both work well in place of pasta shells. If you don’t have gruyere, use all cheddar or a mix of orange and white cheddar, or swap in Monterey Jack. Half and half can replace the heavy cream for a slightly thinner sauce, and a bit of American cheese folded in gives it an extra nostalgic, creamy pull.
What to Serve With It
Garlic bread is the classic pairing here and stands up well to the richness. A crisp green salad with a light vinaigrette helps balance out the meal.
Storage and Reheating
Store in an airtight container in the fridge for up to 3 days. This mac and cheese doesn’t reheat back to its exact original creamy consistency after freezing, but it still works well frozen for easy microwavable lunches — just expect a slightly different texture once thawed.
FAQ
Can I use half and half instead of heavy cream?
Yes, the sauce will just come out slightly thinner.
Can I skip the caramelized onions?
Yes, if you’re short on time, though they add a wonderful depth and gourmet flair to the finished dish.
Why did my cheese sauce turn grainy?
This usually happens when the cheese is added to a base that’s too hot. Let the sauce cool slightly and add the cheese gradually over low heat.
What can I use instead of gruyere?
All cheddar, a cheddar blend, or Monterey Jack all work well if gruyere isn’t available.
Can I taste the mustard powder or hot sauce?
Not directly — they’re there to enhance the other flavors rather than add their own distinct taste.
Bacon Mac and Cheese
Course: Main CourseCuisine: AmericanDifficulty: Medium8
people15
minutes45
minutes60
minutes681
kcalPasta shells in a silky three-cheese sauce with caramelized onions and hickory smoked bacon.
Ingredients
2 large yellow onions, sliced
2 tablespoons butter
1 tablespoon olive oil
6 strips thick-cut bacon, hickory smoked
1 lb medium pasta shells
1/4 cup butter (not needed if using enough bacon drippings)
1/4 cup flour
1 cup heavy cream
2 cups milk
1 teaspoon mustard powder
1/2 teaspoon dried thyme
1/4 teaspoon garlic powder
1 teaspoon hot sauce
1 cup gruyere cheese, shredded
2 cups cheddar cheese, shredded
1/4 cup Parmesan cheese, shredded
Fresh parsley, for garnish
Directions
- Slice onions into 1/4-inch slices. Heat butter and olive oil in a skillet over medium heat, add onions, and caramelize slowly for 40-50 minutes, stirring every few minutes. Set aside.
- Cut bacon into thirds and cook low and slow in a large skillet until crispy. Remove and set aside, reserving 4 tablespoons of drippings.
- Heat the drippings (or butter) over medium heat, whisk in flour, and cook 2 minutes.
- Add heavy cream in splashes, stirring continuously, then add milk the same way.
- Stir in mustard powder, thyme, garlic powder, and hot sauce. Bring to a boil, then reduce to a simmer.
- Cook pasta shells in salted water until al dente. Drain.
- Reduce sauce heat to low and let cool slightly. Gradually stir in shredded cheese until melted and smooth.
- Stir in caramelized onions, then the drained pasta.
- Chop bacon and sprinkle over the top. Garnish with parsley and serve.
Notes
- Shred your own cheese from a block for the smoothest sauce, and let the base cool slightly before adding cheese to avoid a grainy texture.
