Bring a large pot of salted water to a boil. Wash the asparagus, trim off the woody end and slice into 2 inch pieces.
2 pounds fresh asparagus
Add the asparagus to the boiling water and blanch for 1 minute. Remove and put into an ice bath to stop the cooking process. Drain and set aside.
Preheat an oven to 375 F. Coat a 9 x 13 inch baking dish with nonstick cooking spray.
Nonstick cooking spray
In a large skillet, melt the butter over medium high heat. Once it is hot, add the garlic and onion, then saute for 6 to 8 minutes until translucent.
4 Tablespoons unsalted butter, 3 cloves garlic, 1 onion
Sprinkle the flour, salt, and pepper over the top of the onions and stir together with a spatula. Cook for 1 to 2 minutes.
4 Tablespoons all purpose flour, 2 teaspoons kosher salt, ½ teaspoon black pepper, ¼ teaspoon white pepper
Lower the heat to medium, then slowly pour in the milk while whisking. Continue to cook for 4 to 5 minutes until the sauce has started to thicken.
1 ½ cups whole milk
Remove from the heat, then fold in the cheese and asparagus. Add to the baking dish and use a spatula to spread out the mixture evenly. Sprinkle the breadcrumbs over the top.
8 ounces shredded swiss cheese, ¾ cup panko breadcrumbs
Bake for 25 to 30 minutes until the top is golden brown and the sauce starts to bubble around the edges of the pan. If it starts to brown too quickly, you can cover the top with aluminum foil for the final part of the baking process. Let sit for 5 minutes before serving.