Ingredients
8 tablespoons(i stick) unsalted butter, plus more for the dish
6 slices good-quality white bread, crusts removed, torn into 1/4 to 1/2 inch pieces
5 1/2 cups milk
1/2 cup all-purpose flour
2 teaspoons salt
1/4 teaspoon freshly grated nutmeg
1/4 teaspoon freshly ground black pepper
1/4 teaspoon cayenne pepper
4 1/2 cups (about 18 ounces) grated sharp white cheddar cheese
2 cups (about 8 ounces) grated Gruyere or 1 1/4 cups (about 5 ounces) grated Pecorino Romano cheese
1 pound elbow macaroni
Directions
1. Heat the oven to 375 degrees. Butter a 3-quart casserole dish, and set aside. Place the bread pieces in a medium bowl. In a small saucepan over medium heat, melt 2 tablespoons butter. Pour the butter into the bowl with the bread, and toss. Set the bread crumbs aside. In a medium saucepan set over medium heat, heat the milk. Melt remaining 6 tablespoons butter in a high-sided skillet over medium heat. When the butter bubbles, add the flour. Cook, stirring, 1 minute.
2. Slowly pour in the hot milk while whisking. Continue cooking, whisking constantly, until the mixture bubbles and becomes thick.
3. Remove the pan from the heat. Stir in the salt, nutmeg, black pepper, cayenne pepper, 3 cups cheddar cheese, and 1 ½ cups Gruyere or 1 cup Pecorino Romano. Set the cheese sauce aside.
4. Fill a large saucepan with water. Bring to a boil. Add macaroni; cook 2 to 3 minutes less than manufacturer's directions, until out of pasta is cooked and inside is underdone. (Different brands of macaroni cook at different rates; be sure to read the instructions.) Transfer the macaroni to a colander, rinse under cold running water and drain well. Stir macaroni into the reserved cheese sauce.
5. Pour the mixture into the prepared casserole dish. Sprinkle remaining 1 ½ cups cheddar and ½ cup Gruyere or ¼ cup Pecorino Romano; scatter bread crumbs over the top. Bake until browned on top, about 30 minutes. Transfer the dish to a wire rack to cool 5 minutes, and serve.