In a large heavy bottom pot, add in bacon and brown.
Once browned remove from the pot and reserve about 2 tbsp. of the bacon grease.
Add the onion to the grease and once they start to soften add in the garlic.
Add potatoes and cook for about 5 minutes and then add in the flour cooking for 3-5 minutes.
Add in the chicken stock to deglaze the pot.
Cook until the flour is dissolved.
Add in the milk, heavy cream, salt, and pepper.
Bring the soup to a bowl, reduce the heat to low, and simmer for 20 minutes or until the potatoes are tender.
Stir in the sour cream, cheese, and bacon.
Cook for about 7 minutes or until cheese is melted.
Serve when ready.
Garnish with shredded cheese, bacon, and green onion.