In a large pot or Dutch oven set over medium heat add two tablespoons of butter along with diced onion, carrots, and celery. Saute until tender. Add garlic and saute for an additional 2 minutes.
Reduce heat to medium-low and add remaining two tablespoons of butter along with the flour. Cook for about a minute, while stirring to cook out the raw flour taste. Then stir in sour cream.
Add chicken stock, milk, thyme, bay leaf, black pepper, chicken and potatoes. Bring the soup to a simmer and cook until the chicken is cooked through and potatoes are tender. Approximately 15 minutes.
Use a potato masher to mash the potatoes for a creamy consistency. However, they can be left in chunks as well if you prefer.
Taste for salt, and adjust as needed, then serve topped with fresh chives.
Notes
You can use unshredded raw chicken. Just add the meat to the soup with the potatoes and shred it after it has been cooked through. Otherwise, you can cube the chicken rather than shredding it.