Trim the bottom and dark green tops from the leeks then slice in half lengthwise. Run the cut side of the leeks under running water to make sure there’s no dirt left in the layers. Pat the leeks dry then slice them across into thin half-circles.
Heat oil in a large pot over medium heat. Add sliced leeks and cook, stirring occasionally for 3 to 5 minutes. Add the celery, salt, pepper, garlic, and dill, if using, and saute for 1 minute.
Add potatoes then stir in the broth. Cover and bring up to a simmer. Cook until potatoes are fully cooked and easily mash when you use a fork to press them against the pot. About 12-15 minutes.
Use an immersion blender or a regular blender to puree the soup. (If using a regular blender, make sure to carefully blend in small batches.) I like to leave a few small bits of potato, but you can fully puree it to make a smooth soup if you’d prefer. If your soup seems too thick, stir in a little water at a time until you get the consistency you’d like.
Stir in lemon juice and any additional salt and pepper as needed.
Ladle soup into bowls then garnish with desired toppings.
Allow leftovers to cool completely before storing in an air-tight container in your fridge for 3 days or in freezer for up to a month.