01 - Slice leeks in half lengthwise, rinse thoroughly to remove grit, then slice thinly. Set aside 1/2 leek for the crispy topping.
02 - Melt butter in a large soup pot over medium heat. Add chopped onion and cook for 3 minutes until softened.
03 - Add sliced leeks (except reserved portion) and minced garlic. Sauté for 5 minutes until leeks are tender but not browned.
04 - Add diced potatoes, bay leaf, dried thyme, and broth. Bring to a boil, reduce heat, cover, and simmer for 20-25 minutes until potatoes are very soft.
05 - Remove bay leaf. Purée soup with immersion blender until completely smooth, or transfer to regular blender in batches.
06 - Stir in milk and heavy cream. Season with salt and pepper to taste. Heat gently for 3-5 minutes, being careful not to boil.
07 - Thinly slice reserved 1/2 leek. Heat olive oil in small skillet over medium-high heat. Fry leek strips for 2-3 minutes until golden and crisp. Drain on paper towels and lightly season with salt.
08 - Ladle hot soup into bowls. Top generously with crispy leeks and fresh herbs if desired.