Preheat oven to 400°F (200°C) and lightly grease a baking dish
Arrange trimmed asparagus evenly in the baking dish
Drizzle olive oil over asparagus and season lightly with salt and pepper
Melt butter in a saucepan over medium heat
Add minced garlic and sauté until fragrant
Stir in flour and cook briefly to form a smooth roux
Gradually whisk in milk and heavy cream until smooth
Cook until the sauce thickens and becomes creamy
Add cream cheese and stir until fully melted
Mix in half of the mozzarella and Parmesan cheese
Pour the creamy sauce evenly over the asparagus
Sprinkle remaining cheese on top for a golden finish
Bake for 20–25 minutes until bubbly and lightly browned
Let rest for a few minutes before serving