Place the asparagus, mayo, and cheese together in a large bowl.
In a skillet over medium heat, add the onion with a drizzle of oil. Saute the onion for about 5 minutes until soft and slightly browned. Sprinkle the garlic and flour all over the onion mixture. Stir to create a roux and let the flour cook for a minute or two.
Very slowly pour the milk into the skillet, stirring as you go to incorporate the milk into the flour mixture. Let the milk sauce come to a bubble. Sprinkle with salt and pepper.
When the milk sauce is slightly thick, pour it into the bowl with the asparagus and other ingredients. Stir to mix everything together, and pour the mixture into a baking dish, 9x13 or similar. Sprinkle the crushed crackers over the casserole.
Bake the asparagus casserole at 375F for 40-50 minutes or until the asparagus is just tender and the cheese is bubbly. Broil the top for one minute if you'd like to brown the crackers.
Serve. Eat. Enjoy!
Make this in advance up to the baking step, it will keep in the fridge for 3 days or so. Then bake right before eating.