Add potatoes to large pot with chicken stock. (there should be enough stock to cover the potatoes, but you can add water if you need a little more liquid). Cover with lid, bring pot to a boil then reduce to a simmer.
While potatoes are cooking, melt 2 tablespoons of butter in a separate saute pan over medium heat. Add onion, celery, and carrots then saute until tender. Add garlic and cook for two minutes more, then add the sauteed vegetables to the soup pot.
Add bacon to the saute pan and fry until crisp. Remove the crispy bacon from the pan and allow to cool slightly then crumble. Discard grease.
With the saute pan on low heat, melt the remaining 4 tablespoons of butter and sprinkle in flour to make a roux. Stir roux continuously until it turns a light brown, approx 5 minutes.
Slowly add milk to the roux, allowing it to fully incorporate before adding additional milk. Then add the roux to the soup pot and stir to combine.
Place sour cream in a medium-size bowl and temper with hot soup by adding a few splashes of soup with the sour cream and stirring to incorporate together. Once the sour cream is runny and hot it can be added to the soup.
Add fresh ground black pepper, celery salt, and then salt to taste.
For chunkier consistently, mash soup with a potato masher till it reaches your desired consistency. For creamier soup, puree with an immersion blender until smooth.
Serve in bowls topped with cheddar cheese, bacon and chives.