Pierce the scrubbed potatoes several times with a fork, then microwave for 12-15 minutes, or until tender. Once done, halve the potatoes and let them cool. Once cool enough to handle, peel the skins and cut the potatoes into chunks.
In a skillet over medium-high heat, cook the bacon until crisp. Transfer the bacon to a paper towel-lined plate to drain and cool. Reserve 1 tablespoon of the bacon fat in the pan, and discard the rest. Once the bacon has cooled, crumble it into small pieces.
In a large pot over medium-low heat, melt the butter. Add the reserved bacon fat, garlic, and diced onion. Cook for 2-3 minutes until the onion becomes tender and fragrant.
Slowly whisk the flour into the pot and cook for 1-2 minutes, stirring constantly. Gradually whisk in the milk and half-and-half, ensuring the mixture is smooth. Slowly add the chicken stock while whisking, and bring the soup to a light simmer.
Add the kosher salt, garlic salt, and black pepper. Let the soup simmer lightly, stirring occasionally, until it thickens slightly, about 5-7 minutes.
If you’d like to use cheese and bacon as garnish, reserve ¼ cup of each. Stir in the remaining shredded cheeses, bacon, and sour cream into the soup. Remove from heat.
Add the potato chunks to the soup. You can break them into smaller pieces for a smoother texture or leave them chunkier for more bite. Stir to combine.
Serve the soup hot, topped with reserved cheese, bacon crumbles, and fresh chives for garnish.