unsalted butter divided, plus more to grease casserole
half and half (or equal parts milk and heavy cream)
parmesan cheese divided
Panko bread crumbs
Preheat Oven to 400˚F with the rack in the center. Butter a 9x13 casserole dish. Arrange trimmed asparagus in prepared casserole dish, packing it down for a fairly flat and even surface.
Place a saucepan over medium heat. Melt in 3 Tbsp butter then add 2 1/2 Tbsp flour and whisk constantly for 3 minutes or until butter just starts to turn golden in color. Whisk in 2 cups half and half, 2 tsp garlic salt and 1/4 tsp black pepper. Whisk until sauce just starts to thicken then remove from heat. Sprinkle in 1/2 cup parmesan and whisk until cheese is melted and incorporated.
Pour sauce evenly over the asparagus, leaving about 1" space on the long sides of the casserole dish. Bake uncovered at 400˚F for 15-18 minutes (depending on thickness of asparagus), or until asparagus reaches desired tenderness.
While the casserole is baking, make the topping: in a small mixing bowl, melt 1 Tbsp butter. Mix in 1/2 cup bread crumbs, stirring until evenly moistened, then stir in 1/2 cup remaining parmesan cheese. Halfway through baking, sprinkle the bread crumb topping evenly over the casserole then return it to the oven to finish baking.
When asparagus has reached desired doneness, set oven to broil for 2-3 minutes or until bread crumbs are golden brown. Remove from oven and serve.