-
1
Bring a large pot of heavily salted water to a boil over high heat.
-
2
Heat the oven to 400 degrees F and arrange a rack in the middle.
-
3
Meanwhile, melt the butter over medium heat in a large saucepan or Dutch oven, then turn off the heat.
-
4
Transfer 2 tablespoons of the melted butter to a medium bowl, add the panko, season with salt and pepper, and mix with your fingers until evenly combined.
-
5
Set aside.
-
6
Return the saucepan to medium heat, add the onion and measured salt and pepper, and cook until softened but not browned, about 6 minutes.
-
7
Add the flour and whisk frequently until the mixture turns light brown in color, about 5 to 6 minutes.
-
8
While whisking, slowly add the milk to the flour mixture until evenly combined and smooth, stopping to whisk any clumps as needed.
-
9
(It will get very thick when you first add the milk.)
-
10
Continue cooking, whisking occasionally, until the sauce thickens and coats the back of a spoon, about 7 minutes.
-
11
Remove from the heat and set aside.
-
12
Meanwhile, add the pasta to the boiling pot of water and cook until still chewy and underdone, usually a few minutes less than the package directions suggest (the pasta will finish cooking in the oven).
-
13
Drain and rinse with cold water until no longer steaming; set aside.
-
14
Return the milk mixture to medium heat and stir in the cheeses until melted and smooth.
-
15
Add the rinsed pasta and continue cooking, stirring occasionally, until the pasta is heated through and steaming, about 4 to 5 minutes.
-
16
Taste and season with salt and pepper if needed.
-
17
Transfer to a 5-quart baking dish, sprinkle with the reserved panko mixture, and bake until bubbling and lightly browned on top, about 25 to 30 minutes.
-
18
Transfer to a wire rack and let cool for 5 minutes before serving.