Bacon Mac and Cheese, Restaurant-Worthy at Home featured image

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.

Sliced onions caramelizing slowly in a skillet
Let the onions cook down slowly for 40-50 minutes until 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.

Bacon cooking crispy in a skillet
Cook the bacon low and slow until crispy on each side.

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.

Heavy cream being whisked into a flour roux
Add the cream and milk in splashes, stirring continuously.

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.

Finished bacon mac and cheese topped with chopped bacon
Top with chopped bacon and fresh parsley before serving.

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

Recipe by Jessica WilliamsCourse: Main CourseCuisine: AmericanDifficulty: Medium
Servings

8

people
Prep time

15

minutes
Cooking time

45

minutes
Total time

60

minutes
Calories

681

kcal

Pasta 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.

 

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *