01 - Slice leeks lengthwise and rinse thoroughly under cold water to remove grit between layers. Slice into thin half-moons and set aside.
02 - Melt butter in a large pot over medium heat. Add leeks and onion; sauté until soft and translucent, about 8 minutes. Stir in garlic and cook for 1 minute until fragrant.
03 - Add diced potatoes, bay leaf, thyme, and a generous pinch of salt and pepper. Stir to combine with the aromatic mixture.
04 - Pour in vegetable broth and bring to a boil. Reduce heat to low and simmer uncovered for 20-25 minutes until potatoes are very tender and easily pierced with a fork.
05 - Discard the bay leaf from the pot before proceeding to purée the soup.
06 - Use an immersion blender to purée the soup directly in the pot until smooth and creamy. Alternatively, blend in batches in a countertop blender and return to pot.
07 - Stir in milk and heavy cream. Warm through over low heat for 3-5 minutes, but do not boil. Adjust seasoning with salt and pepper to taste.
08 - Ladle hot soup into bowls. Garnish with fresh chives or parsley and croutons, if desired. Serve immediately.