01 - Melt butter in a large pot over medium heat. Add leeks, onion, and garlic. Cook, stirring occasionally, until softened but not browned, approximately 8 minutes.
02 - Add diced potatoes, bay leaf, salt, and black pepper. Stir well to combine all ingredients evenly.
03 - Pour in the stock and bring mixture to a boil. Reduce heat to low, cover pot, and simmer until potatoes are fully tender, about 20 minutes.
04 - Remove bay leaf. Use an immersion blender to puree the soup until smooth, or carefully blend in batches using a countertop blender.
05 - Return the pureed soup to the pot if blended separately. Stir in whole milk or heavy cream and gently heat until warmed through, avoiding boiling.
06 - Taste and adjust seasoning if necessary. Ladle soup into bowls and garnish with chopped chives or parsley and an optional drizzle of cream.