In a large sauce pot, over medium heat, melt butter and then add the leeks. Sauté for about 6-7 minutes until the leeks are tender, then add garlic, sauté for about 1 minute, long enough for the aroma to release.
Meanwhile, cut the asparagus into 1 inch (2.5 cm) pieces, and set aside a few ends for garnishing. Bring a small saucepot of water to a light boil, then add the tips of asparagus, and cook for a few minutes, remove, drain and place in a bowl of cold water to stop the cooking process. Set aside.
Add broth, asparagus, potatoes, salt and pepper and reduce heat. Simmer for about 20-25 minutes until the asparagus and potatoes are tender.
Using a hand blender or food processor/blender, puree soup until smooth and no chucks are remaining. Return to stove and simmer, stir in lemon juice and dill and adjust seasoning at this time.
Ladle into bowls and garnish with fresh dill, parsley and remaining asparagus.