Cook bacon in a soup pot over medium heat until crispy and browned. Strain the bacon onto a paper towel-lined plate. Leave the bacon fat in the pot.
Add the onions and cook until they start to soften, about 5 minutes. Add garlic and cook for another minute until fragrant.
Sprinkle in the flour and whisk to combine. The mixture will be thick.
Slowly whisk in chicken stock and milk until the mixture is smooth and no lumps remain.
Add in the potatoes and lower the heat to medium-low. Let the potatoes gently cook, stirring occasionally until soft. Ensure the mixture doesn’t boil as the milk can burn.
When the potatoes are soft, use a potato masher to gently mash some of the potatoes to create a creamy consistency.
Stir in the shredded cheese, sour cream, chives, and crispy bacon. Taste and season with the desired amount of kosher salt and pepper.