Melt butter in a large pot over medium heat. Add sliced leeks and cook for 8-10 minutes, stirring occasionally, until very soft and tender but not browned. (Make sure to clean leeks thoroughly—they hide dirt between layers!)
Add minced garlic and cook for 1 minute until fragrant.
Add cubed potatoes, broth, thyme sprigs, and bay leaf. Bring to a boil, then reduce heat to medium-low.
Simmer uncovered for 20-25 minutes until potatoes are very tender and easily pierced with a fork.
Remove thyme sprigs and bay leaf. Using an immersion blender, puree the soup until completely smooth and velvety. (Alternatively, carefully transfer to a regular blender in batches, but be careful with hot liquids!)
Stir in heavy cream if using, and season with salt and white pepper to taste. If the soup is too thick, add a bit more broth to reach your desired consistency.
Serve hot, garnished with fresh chives and crispy bacon bits if desired. This soup is also delicious served chilled in the summer!