Melt butter in a large stockpot over medium heat. Add onion and cook until translucent, then stir in garlic and cook until fragrant, about 30 seconds.
Stir in potatoes. Add a small amount of vegetable broth and stir, scraping bottom to loosen any stuck bits of onion, then add remaining broth, milk, and thyme. Bring to a boil, then cover and simmer for 1 hour.
In batches, puree soup in a blender (or use an immersion blender), then pour back into stockpot. Taste and add salt and pepper to taste.
Add cheese and whisk until completely melted. Simmer 10 minutes. Serve with bacon and extra cheese and chives sprinkled on top, if desired.