Melt the unsalted butter in a large pan over medium heat. Once the butter is melted, add the all-purpose flour and stir to combine. Continue stirring for 1-2 minutes to make a light blond roux.
Add the whole milk and half-and-half cream, whisking well after each addition. Continue to whisk constantly for a few minutes until the mixture thickens and begins to bubble.
Once the mixture has thickened, add the garlic powder, onion powder, dry mustard powder, white pepper, and Kosher salt. Then, whisk well to incorporate the spices.
Reduce the heat to low and add the cheeses, a handful at a time, whisking well after each addition until all of the cheese has melted and the sauce is smooth.
Cook the pasta according to package directions, minus one minute from al dente. Drain in a colander set in the kitchen sink, then add to the cheese sauce. Stir the pasta into the sauce until it is well coated with the cheese sauce. Allow the pasta to cook in the sauce on low for a few minutes, stirring occasionally, allowing the sauce to incorporate into the pasta.
Yield 6 servings.