In a large pot over medium heat, cook the diced bacon until crispy for 7 minutes. With a slotted spoon, remove the bacon from the pot to a paper towel-lined dish. Keep the bacon grease in the pot.
Sauté the onions in the reserved bacon grease until the onions are translucent, about 3 minutes.
Sprinkle the flour and garlic powder over the sauted onions and cook the flour for 2 minutes, stirring constantly with a wooden spoon.
Add in the chicken broth, milk, cream, and cubed potatoes to the pot. Allow the mixture to come to a slight simmer. Once the soup starts to simmer, cover the pot with a lid, and lower the heat and continue to cook for 15 minutes, stirring occasionally.
Once the potatoes are fork tender, mash some of the potatoes along the sides of the pot, if desired, to give the soup a more thick texture. Stir in the sour cream (or Greek yogurt), shredded cheese, bacon bits, salt, and pepper and continue stirring until the cheese has completely melted.
Serve with some freshly chopped chives or green onions, additional bacon bits, and a dollop of sour cream. Enjoy!