Cook the Pasta: Bring a large pot of salted water to a boil and cook the pasta shells according to the package directions until al dente. Once cooked, drain the pasta, toss it with a little olive oil and a pinch of salt to prevent sticking, and set it aside.
Caramelize the Bacon and Onion: Heat a large skillet over medium heat, adding the olive oil and butter. Once the butter has melted, add the diced onion and cook it slowly, stirring occasionally, until it softens and caramelizes, which should take around 10-12 minutes. Add the diced bacon to the skillet and cook until crispy, about 6-7 minutes. When both are done, remove the onions and bacon from the skillet and set them aside.
Prepare the Béchamel Cheese Sauce: In the same skillet, without cleaning it, melt 2 tablespoons of butter over medium heat. Once melted, whisk in the flour and cook for 1-2 minutes to get rid of the raw flour taste. Gradually whisk in the milk and heavy cream, stirring constantly until smooth. Continue cooking for 4-5 minutes until the sauce thickens slightly. Stir in the tomato paste, garlic powder, oregano, and a pinch of salt and pepper.
Remove from heat: Gently stir in the sharp white cheddar, Emmental, and Parmesan cheeses, allowing them to melt into the sauce.
Assemble the Dish: Add the cooked pasta to the cheese sauce and stir until well coated. Next, fold in the caramelized bacon and onions, mixing everything together until evenly distributed. If the sauce appears too thick, stir in a small splash of milk to loosen it up. Adjust the seasoning with salt and pepper as needed. Serve your mac and cheese immediately.
Notes
Cheese: I’m using three cheeses here (sharp white cheddar, Emmental, and parmesan), but you can stick to just cheddar if you wish. Gruyere is another lovely touch.
Make it gluten-free: use gluten-free pasta and a gluten-free roux. Many gluten-free flour blends, particularly those labeled for all-purpose use, work well as a substitute for wheat flour. Look for blends that contain ingredients like rice flour, tapioca starch, and potato starch. They tend to thicken sauces without clumping or adding any graininess.
Alternative Seasonings: Instead of the seasonings I use in this recipe (dried oregano and garlic powder), use a more classic mac and cheese seasoning:, 2 teaspoons of mustard powder to add tang and balance the richness of the cheese. Add 1/2 teaspoon of paprika for mild smokiness and color. Sprinkle in 1/4 teaspoon of ground nutmeg to enhance the creaminess.
Use classic elbow macaroni instead of the shells.
Feel free to omit the tomato paste, but I love the subtle background flavor it gives.