Melt the butter in a large saucepan over medium heat until it begins to foam. Add the leeks and garlic, and cook, stirring occasionally, for 10 minutes or until the leeks soften.
Add the asparagus and potato, and stir until well combined. Add the stock and water. Cover and bring to the boil. Reduce heat to medium-low and cook, covered, stirring occasionally, for 15 minutes or until the potato is tender. Remove from heat, uncover and set aside for 10 minutes to cool slightly.
Transfer half the soup to a blender and blend until smooth. Pour into a large, clean saucepan. Repeat with remaining soup.
Add cream to soup and cook over low heat, uncovered, stirring occasionally, for 5 minutes or until heated through. Taste and season with salt and pepper.
Ladle asparagus soup into six 250ml (1-cup) serving bowls and sprinkle with a little extra pepper. Serve immediately.