01 - Melt the butter in a large pot or Dutch oven over medium heat. Add the onion, celery, and carrots; cook until softened, about 5 minutes.
02 - Stir in the garlic and cook for 1 minute until fragrant.
03 - Add the diced potatoes, corn, vegetable broth, salt, pepper, thyme, and bay leaf. Bring to a boil, then reduce heat to a simmer. Cover and cook for 20 minutes, or until potatoes are tender.
04 - Remove the bay leaf. Using an immersion blender, blend about 1/3 of the soup directly in the pot to create a creamy texture, leaving plenty of vegetables chunky. Alternatively, transfer a few cups to a blender, puree, and return to the pot.
05 - Stir in the milk and heavy cream. Heat gently for 5 minutes, taking care not to boil. Adjust seasoning to taste.
06 - Ladle into bowls and garnish with chives and crumbled bacon if desired. Serve hot.