Place the cubed potatoes in a large pot and cover them with water. Bring the water to a boil and cook for about 10-15 minutes, or until the potatoes are fork-tender. Drain the water and set the potatoes aside.
In the same large pot, melt the butter over medium heat. Once melted, whisk in the flour and cook for about 1-2 minutes. This creates a roux that will thicken your soup to the perfect consistency.
Slowly pour in the milk and chicken broth while whisking constantly. Continue to cook and stir until the mixture begins to thicken and comes to a light simmer. Make sure there are no flour lumps left behind.
Stir in the cooked potatoes, garlic powder, salt, and pepper. Use a potato masher to lightly mash some of the potatoes directly in the pot if you prefer a smoother soup, or leave them chunky for more texture.
Reduce the heat to low. Stir in the sour cream, shredded cheddar cheese, and half of the crumbled bacon. Stir until the cheese is completely melted and the soup is creamy and hot.