This dreamy mac is made with whole milk, resulting in a delicious and creamy, but not overly heavy, white sauce. It features caramelized onions, gruyere, and mozzarella.
1. Bring a pot of generously salted water to a boil. Boil pasta until very al dente (2 mins less than package directions because it will finish cooking in the sauce), then drain and set aside.
2. Caramelize the onions: In a large pot preheated over medium heat, melt 2 Tbsp butter and then add the onions, salt, and pepper. Turn the heat down to medium-low and sauté the onions, stirring often, until they are golden brown, tender, and caramelized (~20 mins). Remove the onions from the pot.
3. Turn the heat up to medium-high and add 4 Tbsp butter. Once the butter is melted, add the garlic and cook for 30 seconds until fragrant, then add the flour. Cook, whisking constantly, for 1 minute, then gradually add the whole milk 1/2 cup at a time, whisking so that all the milk gets fully incorporated before adding more. Once all of the milk is added, continue whisking until the white sauce starts to bubble and thicken (3-4 mins), then mix in the kosher salt, pepper, thyme, and 1+1/2 cups of the gruyere cheese.
4. Add the pasta to the pot along with the caramelized onions, and cook for 2-3 mins until pasta is to your desired tenderness.
5. Transfer the mac and cheese into a baking dish (or individual baking dishes) and top with 1 more cup of shredded gruyere and 1 cup of shredded mozzarella (optional). Broil for 4-5 minutes until the cheese is melted and golden brown, top with a sprinkle of chopped parsley, and enjoy!