Fill a stockpot with water to 1 inch above the potatoes, season with ½ teaspoon salt, and boil the cubed potatoes for 8–10 minutes, or until tender enough to pierce with a knife. Drain thoroughly.
While the potatoes cook, render the bacon in a Dutch oven over medium heat until crisp. Remove the bacon to a plate, reserving 1 tablespoon of the rendered fat in the pot.
In the same Dutch oven, melt the butter with the reserved bacon fat, add the finely chopped onion, and sauté until softened. Stir in minced garlic and cook for 30 seconds until aromatic.
Whisk in the flour until no lumps remain, then gradually incorporate the milk and broth while continuously whisking. Bring the mixture to a gentle boil to allow it to thicken.
Return the drained potatoes to the pot. Season the soup with the remaining 1 teaspoon salt and ¼ teaspoon pepper, adjusting as needed.
Fold in the sour cream, shredded cheddar, and half of the cooked bacon. Stir well and bring the soup just to a boil, then remove from heat.
Ladle into bowls and garnish with remaining bacon and your choice of toppings.