Cut off the woody ends of the asparagus and chop the spears into 2-3 inch pieces. Set a few tips aside for garnish if you like.
In a large pot, heat the olive oil or butter over medium heat.
Add the chopped onion and cook for 5-7 minutes, stirring occasionally, until softened and translucent.
Stir in the minced garlic and cook for another 1-2 minutes until fragrant.
Add the chopped asparagus to the pot and cook for 3-4 minutes, stirring occasionally.
Add the vegetable stock and bring the mixture to a simmer. Let it cook for 10-15 minutes, or until the asparagus is tender.
Remove the pot from the heat. Using an immersion blender, blend the soup until smooth. If using a regular blender, blend the soup in batches.
Return the blended soup to the pot and stir in the double cream. Heat gently on low, making sure not to boil the soup. Season with salt, pepper, and a splash of lemon juice if desired.
Ladle the soup into bowls and garnish with reserved asparagus tips, fresh herbs, and an extra drizzle of cream if you like. Serve hot or chilled.
