Ingredients

8 Tbsp (1 stick) unsalted butter, plus more for dish

6 slices good white bread, crusts removed, torn into 1/4 to 1/2 inch pieces

5 1/2 cup milk

1/2 cup all-purpose flour

2 tsp. salt

1/4 tsp. freshly grated nutmeg

1/4 tsp. freshly ground black pepper

1/4 tsp. cayenne pepper, or to taste

4 1/2 cup (about 18 oz.) grated sharp white cheddar cheese

2 cup (about 8 oz.) grated Gruyere or 1 1/4 cup (about 5 oz.) grated Pecorino Romano cheese

1 lb. Elbow macaroni

Preparation

Heat oven to 375 degrees. Butter a 3-quart casserole dish; set aside.

Place the bread in a medium bowl. In a small saucepan over medium heat, melt 2 Tbsp butter. Pour butter into bowl with bread, and toss. Set the bread crumbs aside.

In a medium saucepan set over medium heat, heat the milk.

Melt remaining 6 Tbsp. butter in a high-sided skillet over medium heat. When butter bubbles, add flour. Cook, stirring, 1 minute. While whisking, slowly our in hot milk. Continue cooking, whisking constantly, until the mixture bubbles and becomes thick. Remove pan from heat. Stir in salt, nutmeg, black pepper, cayenne pepper, 3 cup cheddar cheese, and 1 1/2 cup Gruyere or 1 cup Pecorino Romano; set cheese sauce aside.

Fill a large saucepan with water; bring to a boil. Add macaroni; cook 2 to 3 minutes less than manufacturer’s directions, until the outside of the pasta is cooked and the 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. Pour mixture into prepared dish. Sprinkle remaining 1 1/2 cup cheddar cheese, 1/2 cup Gruyere or 1/4 cup Pecorino Romano, and bread crumbs over top.

Bake until browned on top, about 30 minutes. Transfer dish to a wire rack to cool 5 minutes; serve.