In a large pot, bring water to a boil for the potatoes. Salt the water and boil the cubed potatoes 8-10 minutes, until they can easily be pierced by a fork. Drain and set aside.
In a large pot, melt the unsalted butter.
Add the onion, and cook 2-3 minutes over medium high heat, until translucent.
Add the garlic and cook 1 minute more.
Add the 1/4 cup flour and stir and cook for 1-2 minutes.
Slowly add the chicken broth, and milk. Salt and pepper, to taste. Bring to a gentle boil.
Add in the cooked potatoes, and use a potato masher to slightly mash some of the potatoes.
Add the bacon, cheese, and sour cream. Return to a boil and simmer 1-2 minutes more.
Remove from the heat and serve with your favorite toppings.