Add the bacon to a soup pot over medium heat. Cook until it reaches your desired crispiness, and then remove with a slotted spoon. Keep about 1 tbs of bacon grease.
Add the butter and one melted, add the celery, carrot, and onion with a pinch of salt. Cook on medium heat until softened, about 5 minutes. Then add the garlic and cook for 1 minute. Add the flour and cook for a few minutes, or until all of the dry bits are gone.
Add the heavy cream, milk, chicken stock, seasonings, and thyme. Stir to combine, then add the potatoes. Bring the pot up to a boil, then lower to a simmer and cook until the potatoes are very tender.
Use an immersion blender to blend the potatoes until smooth. If you'd like a chunkier soup, remove some of the potatoes first, and then add them back in once you've finished blending. Spoon into serving bowls and add your favorite toppings, like sour cream, green onions, the crispy bacon, and shredded cheese.