Cut the tips off the asparagus stalks and reserve for garnish. Cut the remaining stalks into 1-inch pieces.
Melt butter in a large pot over medium heat. Add onion and cook until translucent, approximately 5 minutes.
Add garlic and asparagus stalk pieces to the pot and cook for 2 minutes.
Pour in vegetable broth and bring to a boil. Reduce heat and simmer for 15 to 20 minutes until asparagus is very tender.
While soup simmers, blanch the reserved asparagus tips in boiling water for 2 minutes, then immediately shock in ice water.
Use an immersion blender to puree the soup until completely smooth.
Stir in heavy cream, salt, pepper, and lemon juice. Heat through over low heat without bringing back to a boil.
Ladle into bowls and garnish with the blanched asparagus tips.