|9 tablespoons unsalted butter, softened|
|1 yellow onion, finely chopped|
|1 1/2 pounds cavatappi pasta|
|1/2 cup all-purpose flour|
|6 cups whole milk|
|1/4 cup heavy cream|
|1 teaspoon dry mustard|
|1/4 teaspoon ground nutmeg|
|Cayenne pepper, to taste|
|Ground white pepper|
|8 ounces freshly grated provolone|
|4 ounces freshly grated fontina|
|4 ounces freshly grated Gruyere|
|4 ounces freshly grated Parmigiano-Reggiano|
|17 ounces freshly grated Asiago|
|1 pound grated yellow Cheddar|
|3/4 cup panko breadcrumbs|
Melt 1 tablespoon butter in a large saucepan over medium heat. Add the onions and cook, stirring occasionally, until caramelized, about 30 minutes. Puree in a food processor and set aside.
Bring a pot of salted water to a boil. Cook the pasta to al dente according to the package instructions. Shock in an ice bath, drain and set aside.
Melt the remaining 8 tablespoons butter in a saucepan over medium heat. Add the flour and whisk until smooth. Slowly add the milk to the saucepan and stir until smooth. Add the heavy cream and bring to a boil, reduce the heat and simmer for 5 minutes, stirring often to avoid scorching. Season with the mustard, nutmeg, cayenne, salt and pepper. Add the pureed onion. Add the provolone, fontina, Gruyere, Parmigiano-Reggiano and 8 ounces of the Asiago and whisk until the cheeses are completely melted and the sauce is smooth. Combine the pasta with the sauce and adjust any seasoning if needed.
Preheat the oven to 425 degrees F.
Combine the Cheddar, breadcrumbs and remaining 9 ounces of the Asiago in a medium bowl and mix. Place the pasta in a 9-by-12-inch baking dish and top with the breadcrumb mixture. Bake until the crust is golden brown, 12 to 15 minutes. Let rest for 5 minutes before serving.