Cut bacon into bite size pieces. Then cook bacon in a large pot until crispy. Remove bacon when cooked completely and set aside.
In the same pot, add onion and garlic. Cook until onion is soft.
Whisk in flour. Be sure all clumps have been dissolved.
Add chicken broth and heavy cream.
Once mixed, add potatoes. Cook until tender, about 10-20 minutes.
With the whisk, gently mash potatoes, leaving some still intact.
Whisk in cheese, sour cream and salt and pepper.
Garnish with cheese, bacon and green onion.