2 teaspoons plus 1/2 teaspoon kosher salt*
8 ounces small elbow macaroni
5 tablespoons salted butter, plus more for baking dish
2 cups coarse bread crumbs (homemade or Panko)
2 ounces Parmigiano-Reggiano or Pecorino Romano cheese, finely grated (about 1 cup)
2 tablespoons all-purpose flour
2 cups milk (you can use either whole or 2%, but do not use fat-free)
1 cup heavy cream
6 ounces medium or aged cheddar cheese, coarsely grated (2 cups)
6 ounces Gruyere cheese, coarsely grated (2 cups)
1/2 teaspoon mustard powder
1/4 teaspoon cayenne pepper
1/8 teaspoon ground or freshly grated nutmeg
Preheat the oven to 375°F. Butter an 8-inch square (1 1/2-quart) baking dish. Set aside.
Fill a 4- to 5-quart pot about three-quarters full with water. Bring to a boil, stir in 2 teaspoons of the salt, and add the pasta. Cook, stirring once or twice, until tender but firm, about 4 minutes, and drain. Reserve the pot.
While the pasta is cooking, in a medium skillet, melt 2 tablespoons of the butter in a medium skillet over medium heat. Turn off the heat and add the bread crumbs and Parmigiano-Reggiano. Stir until mixed well. Set aside.
Using the same pot you used to cook the pasta, melt the remaining 3 tablespoons butter over medium heat. Slowly whisk in the flour and stir for about 2 minutes, or until the mixture starts to darken very slightly and smell a bit nutty. Slowly whisk in the milk, cream, and the remaining 1/2 teaspoon salt and cook until the mixture is just beginning to thicken and bubble around the edges, 5 to 7 minutes. It should be similar in texture to cake batter. If it’s soupy, continue cooking until it thickens.
Add 1-1/2 cups of the cheddar, the Gruyere, mustard powder, cayenne, and nutmeg and stir until the cheeses have melted and the sauce is smooth but not too runny. Again, it should be similar in texture to cake batter. If it’s soupy, continue cooking, stirring constantly, until it thickens.
Add the pasta and stir to combine. Pour into the prepared baking dish.
Sprinkle with the remaining 1/2 cup of cheddar and top with the bread crumb mixture.
Place the dish on a rimmed baking sheet and bake until bubbling and golden brown, about 30 minutes. Let cool for 10 minutes before serving.
* Salt Notes: Salt will prevent the pasta from sticking to itself and clumping. To prevent damage to the bottom of the pan, wait until the pot is boiling to add the salt. Debbie uses almost twice this amount of salt, but I’ve cut it back in this recipe. If you use regular salt instead of Kosher salt, you can use a little more.