In a Dutch oven, heat butter and oil over medium heat until butter is melted. Add asparagus, onion, celery, and garlic; cook for 8 minutes, stirring frequently. Add wine; cook for 2 minutes. Add flour; cook for 2 minutes, stirring constantly. Gradually add broth, whisking until smooth. Bring to a simmer; reduce heat to medium-low, and cook for 20 minutes, stirring occasionally. Remove from heat, and let cool slightly.
In the container of a blender, purée asparagus mixture in batches until smooth. Return asparagus mixture to Dutch oven over medium heat. Add cream, sugar, pepper, garlic powder, salt, and zest, whisking until smooth. Cook until heated through, about 5 minutes. Add cheeses, stirring until melted. Garnish with chives, if desired.
Recipe by Southern Lady Magazine at https://southernladymagazine.com/creamy-asparagus-soup-recipe/