In a large skillet, melt 2 tbsp butter over medium-low heat and 1 tbsp olive oil. Add sliced onions and cook slowly on low heat, stirring occasionally, until the onions become golden and caramelized, to get a rich deep brown color this can take 2 hours.
Once the onions are golden or brown, stir in cognac to deglaze the pan, another tbsp of butter, beef broth, a little thyme, salt & pepper. Stir and cook for 2-3 minutes until the liquid evaporates. Set aside.
Toast sliced baguette with 1 tbsp olive oil, salt, and pepper on 375 degrees for maybe 10 minutes until toasted. Transfer to a food processor with 2 tbsp parmesan, and garlic clove and pulse until almost pulverized but be sure to leave large crumbs.
Melt remaining 3 tbsp of butter in a large dutch oven and add flour cooking off for 5 or so minutes on low heat, stir in half of the milk to combine then add remaining milk and 2 cups grated gruyere + 2 cups grated cheddar to combine. Finish with nutmeg, dijon, lots of cracked pepper & salt to taste.
Salt water and cook your full box of pasta 2-3 minutes under suggested cooking time and combine with cheese sauce and ½ of the caramelized onions...make sure it is saucey because the pasta will continue to soak up the sauce!
Layer mixed mac and cheese, remaining caramelized onions, remaining 2 cups of cheese, breadcrumbs, and grated parm and bake at 375 for 20 minutes and broil on low for 5 minutes until breadcrumbs are until golden brown.
