Serves:4 to 6
* Unsalted butter, for greasing
* 8 ounces macaroni
* 2 1/2 cups cold milk
* 4 ounces provolone cheese, coarsely grated
* 4 ounces aged Asiago cheese, coarsely grated
* 2 large eggs
* 2 scallions, white and green parts, chopped
* 3 slices white sandwich bread, torn into small pieces
* 3 strips bacon
* 1 medium onion, chopped
* 1 clove garlic, minced
* 3 tablespoons all-purpose flour
* 1/8 teaspoon cayenne pepper
* Kosher salt
Preheat the oven to 375 degrees F. Butter a 2-quart shallow casserole dish. In a large pot of salted boiling water, cook the macaroni until al dente, about 5 minutes. Drain; transfer the pasta to the prepared casserole dish along with 1/4 cup of the cold milk. (This will cool the pasta and prevent it from becoming gummy.)
Meanwhile, mix the cheeses together in a small bowl. Beat the eggs with 1/4 cup of the milk in a medium bowl. Add the scallions, bread and half of the cheese to the egg mixture; set aside.
Cook the bacon in a large skillet over medium heat until crisp; transfer to paper towels to drain. Discard all but 2 tablespoons drippings from the pan. Add the onion and garlic; cook, stirring, until just brown, about 4 minutes. Stir in the flour, cayenne pepper and 1 teaspoon salt; cook for 2 minutes. Slowly add the remaining 1 3/4 cups milk and 3/4 cup water to the skillet. Bring to a boil, whisking until thick. Remove the sauce from the heat and whisk to cool slightly. Whisk in the remaining cheese. Add the sauce to the macaroni; stir to combine.
Crumble up the bacon and add it to the egg/bread mixture. Spread evenly over the pasta. Place the casserole dish on a baking sheet and bake until golden brown, about 35 to 40 minutes. Remove from the oven; let sit 5 minutes before serving.