For the béchamel:
- 4 cups (1 quart) whole milk
- 8 tablespoons unsalted butter (1 stick)
- 1/2 cup all-purpose flour
- 1 tablespoon kosher salt, plus more to taste
- Kosher salt
- 1 pound elbow macaroni
- 8 ounces shredded 2-year aged sharp cheddar cheese (about 3 cups)
- 3 ounces grated Pecorino Romano cheese (about 1 cup)
- 2/3 cup panko (optional)
To make the béchamel:
- 1Heat the milk in a medium saucepan over medium-high heat until it just comes to a simmer, then turn off the heat and set aside.
- 2In a large, heavy-bottomed saucepan, melt the butter over medium heat. Add the flour and whisk constantly until the mixture turns light brown in color, about 3 minutes. Remove from the heat.
- 3While whisking constantly, slowly add the hot milk to the flour mixture until evenly combined and smooth. (It will get very thick when you first add the milk, then thin out.)
- 4Return the saucepan to medium-high heat and while whisking constantly, cook until the sauce thickens and coats the back of a spoon, about 2 to 3 minutes. Stir in 1 tablespoon of the salt, taste, and season with additional salt if desired. Remove from the heat and set aside.
- 1Bring a large pot of heavily salted water to a boil over high heat. Add the pasta and cook until it’s almost al dente (just on the edge of being underdone), then drain and rinse with cold water; set aside. (If you plan to top the mac ‘n’ cheese with panko and bake it, heat the oven to 400°F and arrange a rack in the middle.)
- 2Place the reserved saucepan of béchamel over medium heat and stir in both cheeses just until melted and smooth. Add the pasta and continue cooking, stirring occasionally, until the pasta is heated through and steaming, about 2 to 4 minutes. Serve immediately or, if baking, transfer to a 5-quart baking dish, sprinkle with the panko, and bake until bubbling and brown on top, about 25 to 30 minutes.