Cook bacon in a skillet over medium high heat for 7-8 minutes or until crispy and brown. You can also bake the bacon in the oven while cutting the potatoes.
Transfer the bacon to a paper towel lined plate to absorb excess grease. Once cooled, crumble the bacon into small pieces. (I use my handy kitchen shears to cut mine into pieces)
Add reserved bacon grease or butter to a Dutch oven or soup pot and add in onions.
Cook for approx. 3-5 minutes or until onions are tender, stirring often.
Then add in garlic and cook for another 1-2 minutes.
Add in chicken broth, milk and flour and whisk until combined well.
Stir in potatoes, salt and pepper and bring to a slight boil.
Reduce heat, cover slightly and simmer until potatoes are tender, about 20 minutes.
Stir in 1 cup of shredded cheese, sour cream, 1/2 of the bacon
If the soup is too thick, add more milk as needed until desired consistency is reached.
Serve immediately. Garnish individual bowls with additional cheese, sour cream, green onions and bacon, if desired.