Bacon and Caramelized Onion Mac and Cheese
A baked mac and cheese loaded with crispy bacon, slow cooked caramelized onions, and a rich cheese sauce. This version hits the sweet spot between comfort food and deeper savory flavour. It keeps the creamy pull of a classic mac and cheese, but the onion and bacon bring enough depth that it tastes like something you would get in a proper bistro.
If you are searching for a baked mac and cheese recipe that turns out creamy and not grainy, this gives you a reliable base. The roux and slow milk addition keep the sauce stable, and using a mix of cheddar, gouda, mozzarella, and Monterey Jack gives that smooth melt you want in a homemade cheese sauce.
Below is the full recipe along with clear steps, ingredient notes, and a few add in ideas so you can adjust it to your own style.
Why this mac and cheese works
Render bacon from cold
Starting the bacon in a cold pan pulls out more fat and gives you better browning with less splatter.
Caramelized onions
Medium caramelization adds sweetness and depth. If you go darker, the sauce leans richer and more savory.
Balanced cheese mix
Cheddar brings flavour, mozzarella brings stretch, gouda brings butteriness, and Monterey Jack keeps it smooth.
Baked finish
Finishing in the oven marries the sauce and pasta while the top layer of cheese browns without drying out the dish.

Ingredients
• 1 lb bacon, lardon
• 2 medium onions, diced
• 2 to 3 cloves garlic, grated
• 1 lb pasta of choice
• 1/3 cup flour
• 500 ml milk
• 1 tsp garlic powder
• 1 tsp paprika
• 1 tsp onion powder
• 1/2 tsp mustard powder
• 1 tsp chili flakes
• 1/4 tsp nutmeg
• 1 splash Worcestershire
• 1 splash vinegar based hot sauce
• 3.5 to 4 loose packed cups shredded cheese (cheddar, mozzarella, gouda, Monterey Jack)
• 2 to 3 tbsp Parmesan or Pecorino
• Salt and pepper to taste
Step by step instructions
1. Cook the bacon
Slice bacon into lardons. Start in a cold pot or pan over medium low heat. Let the fat slowly render out and cook until the bacon is crisp. Remove the bacon and set aside. Keep the fat in the pan.
2. Cook the pasta
Bring a large pot of heavily salted water to a boil. Cook pasta about one minute less than the package suggests. It will finish in the oven. Drain and set aside.
3. Caramelize the onions
Add the diced onions to the bacon fat. Season with a good pinch of salt as this pulls more water out of the onions and helps them caramelize. Cook on medium low heat, stirring now and then, until the onions reach a medium caramel color. but go darker if you prefer a deeper flavor.
4. Build the cheese sauce
Add the flour to the onions. Stir and cook the roux for two to three minutes. Add the milk a little at a time, whisking in completely before adding more - then add all seasonings. Bring to a gentle simmer. Add the shredded cheese a little at a time, stirring until smooth. Keep one cup of cheese aside for the topping. Taste and adjust seasoning.
5. Combine
Mix the pasta with the cheese sauce. Fold the bacon back in. Add chopped spinach or any cooked vegetables if you want to bulk it up or add greens for health.
6. Bake
Transfer everything to a greased baking dish. Spread evenly. Top with the reserved cheese and some fresh grated Parmesan or Pecorino.
Bake at 350°F for 20 to 25 minutes until the top has color and the edges are bubbling.
7. Serve
Let it rest for a few minutes. Serve hot.

Tips and variations
Add vegetables
Spinach, peas, caramelized mushrooms, roasted broccoli, or chopped kale mix well with the sauce.
Make it spicy
Increase chili flakes or add a diced jalapeno to the onions.
Use smoked cheese
Smoked gouda or smoked cheddar gives the dish a deeper flavor that works well with bacon.
Make it ultra creamy
Stir in a spoon of cream cheese or mascarpone when you add the shredded cheese to the sauce.
Storage
Keeps well in the fridge for up to three days. Reheat covered so it stays creamy. Add a splash of milk when warming if needed.