Preheat the oven to 350 degrees F/180 C.
Heat a large dutch oven over medium heat and add the bacon. Cook stirring occasionally for 20 minutes, or until the bacon is crispy. Use a slotted spoon to transfer it to a paper towel lined plate.
6 strips bacon
Carefully pour the bacon grease into a mug or heat proof bowl. Use a paper towel to wipe out any excess grease, then add the olive oil.
2 tablespoon olive oil
Add the chopped onion to the dutch oven then decrease the heat to medium-low to keep them from burning. Cook the onions for 35-40 minutes or until they are brown and caramelized.
1 large yellow onion
Transfer the caramelized onions to a bowl and set aside.
When the onions have about 10 minutes left, fill a large stock pot with water and bring it to a boil.
Boil the macaroni noodles until al dente following the package instructions. Drain the noodles.
12 ounces elbow macaroni
To the dutch oven, add the cream cheese, gruyere, gouda, spices, milk, heavy cream and all but ½ of the cheddar cheese and mix to combine with a wooden spoon.
1 ½ cup whole milk, 1 cup heavy cream, 2 cups shredded medium sharp cheddar cheese, 1 cup shredded gruyere cheese, 6 ounces cream cheese, 1 cup shredded gouda cheese, ½ teaspoon kosher salt, ½ teaspoon black pepper, ½ teaspoon garlic powder, ½ teaspoon onion powder, ½ teaspoon smoked paprika, 1 teaspoon mustard powder
Add the reserved bacon and onions and stir to combine.
Add in the boiled noodles and mix to combine.
Top it with the remaining ½ cup of shredded cheddar cheese.
Bake the mac and cheese uncovered for 20-25 minutes or until the cheese is melted and bubbly.
Place the dutch oven on a wire rack or cooling pad and serve immediately with fresh chopped chives!