Heat olive oil in a large sauce pan set over medium-low heat. Add the onion and sweat (cook without browning) until the onion is soft and translucent, 7 to 10 minutes. Add the garlic and cook for additional 2 minutes.
Turn the heat to medium, add the thyme, lemon zest and asparagus pieces. Saute, stirring frequently, about 4 to 5 minutes. Season with salt and pepper.
Add broth, bring to a boil, then reduce heat to medium-low. Simmer for 10 minutes.
Remove soup from the heat and let cool for 10 to 15 minutes (so the top doesn't blow off the blender).
Process the soup in a blender, in two batches, until the soup is smooth.
Return to the saucepan, stir in coconut milk, reheat, and season to taste with salt and pepper. Serve.
This soup can also be served chilled – a nice treat on a hot day.