Preheat the oven to 400 degrees F and spray a 9X13 baking pan with non-stick cooking spray.
Boil a large pot of water. Add in the diced asparagus and cook for 1 minute to blanch the asparagus. Transfer the asparagus to an ice bath immediately after the cook time.
Melt 3 Tablespoons of the butter in a large skillet over medium high heat. Add in the minced garlic and cook for 1 minute until aromatic.
Whisk in the flour and cook for 2-3 minutes (whisking constantly) until the mixture is slightly browned and has thickened. Slowly add in the milk, salt and pepper. Continue to heat and whisk until the sauce has thickened.
Remove the pan from the heat and stir in the cream cheese and mozzarella cheese until melted.
Arrange the asparagus in the 9X13 pan (drain off all water from the ice bath) and pour the cheese sauce over the asparagus and gently stir to coat the asparagus with the cheese sauce.
Bake uncovered for 13-16 minutes until the asparagus is the tenderness that you prefer.
While the casserole is cooking, prepare the topping. Melt the remaining tablespoon of the butter and mix it with the bread crumbs. Once the butter is mixed in, stir in the shredded Parmesan Cheese. Sprinkle the bread crumb topping onto the casserole halfway through the cook time.
Once the cook time, broil the casserole for 2-3 minutes to brown the top of the casserole.
Remove from the oven. Let the casserole sit for 10-15 minutes so that the sauce will thicken.
Then it’s ready to serve and enjoy!
Notes
This can be made the night before serving. Prepare the casserole based on the instructions and don’t bake it. Cover and refrigerate. Allow the casserole to come to room temperature before baking based on the instructions. Refrigerate the leftovers in an airtight container for up to 5 days. You can also top with french fried onions or ritz cracker crumbs instead of the bread crumbs if you prefer.