Preheat the oven to 375°F Bring a large pot of salted water to a boil. Cook according to package instructions but about 1 minute less than the full cook time so it’s al dente. Drain well. Place in a large mixing bowl. You can drizzle the pasta with a bit of olive oil to keep it from sticking if desired.
While the pasta is cooking, melt ½ cup of butter in a large saucepan over medium heat. Add the flour and whisk while it cooks until nutty in smell, about 2 to 3 minutes. Slowly pour in the milk and cream in while whisking and cook until it bubbles and thickens, about 5 minutes. Remove from heat.
Reserve ½ cup of each cheese for the topping. Stir in the remaining cheese, salt, and pepper. Pour the sauce over the pasta and stir until the pasta is well coated.
Grease a 3-quart baking dish with cooking spray and pour the pasta and sauce into the prepared dish.
Melt the remaining 2 tablespoons of butter in a small skillet over medium-high heat. Stir in the breadcrumbs. Cook while stirring until the breadcrumbs are light golden brown. Season with salt and pepper to taste if desired.
Sprinkle the top of the pasta with the reserved cheddar and gruyere cheese and top with the toasted breadcrumbs.
Bake for 35 minutes or until the filling is bubbling and the topping is golden brown. Let cool for 10 minutes before serving.
Video
Notes
Salt your pasta water! You only get one shot to season the actual noodles, so don’t miss your chance. I typically do 1 tablespoon of salt per 12 cups of water. Oh, and do yourself a favor and don’t toss all that starchy goodness down the drain! I like to keep a Tupperware or ice cubes of frozen pasta water on hand to help revive my sauces whenever I reheat leftovers.
Storage: Once baked, you can cover the casserole dish and refrigerate it for up to 5 days. You can reheat portions in the microwave on 80% power to keep the sauce creamy.