I looove a good mac and cheese 4 tablespoons olive oil and 2 tablespoons unsalted butter, divided, for cooking the onions and mushrooms 1 large yellow onion, sliced in semi-circles half a pound of button or cremini mushrooms, cleaned and quartered salt and pepper to taste 1 teaspoon chopped fresh thyme, divided 5 tablespoons unsalted butter, divided, plus a bit more for greasing the pan 1/4 cup all-purpose flour 2 1/2 cups whole milk 1 large egg 1 scant teaspoon salt 1/2 teaspoon freshly ground black pepper 4 ounces goat cheese 1/2 cup shredded Gruyère 1 1/2 cups shredded sharp cheddar cheese 1 pound pasta shells, boiled until just undercooked 1/3 cup panko crumbs In a medium skillet over medium heat, add 2 tablespoons olive oil and 1 tablespoon of butter. When heated, add the sliced onions and saute until translucent, stirring occasionally. Add a pinch of salt, a pinch of black pepper, and 1/4 teaspoon fresh thyme, and reduce the heat to low. Continue to cook until the onions are completely browned and thoroughly cooked, about 5 minutes. Spoon caramelized onions into a small bowl and set aside. In the same skillet, heat the remaining 2 tablespoons of oil and 1 tablespoon of butter over medium heat. Add the quartered mushrooms and stir to coat in fat. Allow the mushrooms to soften and brown, about 2 minutes. Add a pinch of salt, a pinch of black pepper , and remaining thyme and reduce the heat to low. Cook until mushrooms are browned on all sides, about 5 minutes. Remove from heat and set aside. In a large saucepan, melt 4 tablespoons of butter over medium heat. Add the flour and stir until mixture is combined. Add the milk and whisk together until mixture has thickened, about 3 to 5 minutes. Add scant teaspoon of salt and black pepper. Stir to combine. In a small bowl, beat the egg. Add a few tablespoons of the warm cream sauce to the egg and whisk together. Once the egg is warmed, add it back to the cream sauce and whisk well to combine. Reduce heat to low and stir in cheeses. Stir until melted and combined. Add the cooked pasta and stir until all of the pasta is coated in cheese sauce. Place a rack in the upper third of the oven and preheat oven to 325 degrees F. Lightly grease a baking pan. I used a deep 10-inch pie pan, though a 9×13-inch pan would be great as well. Spoon half of the pasta mixture into the greased pan. Top with caramelized onions and mushrooms. Top with the remaining pasta mixture. Set aside for a moment. In a medium skillet over medium heat, melt remaining 1 tablespoon butter. Add the bread crumbs and toast until panko has absorbed all the butter. Remove from heat and spoon the bread crumbs over the top of the pasta mixture. Bake for 15 to 20 minutes until the bread crumbs are browned and the pasta is sizzling. Remove from the oven and serve warm. Pasta can be made a day ahead and left in the fridge unbaked. Just add the bread crumbs just before baking.