Fry bacon in a large pot until crisp. Remove bacon and set aside leaving the drippings in the pot.
Reduce heat to medium low and add diced onion to drippings. Cook until tender, about 5-7 minutes.
Add garlic and flour, cook 1 minute while stirring. Whisk in chicken broth, bring to a boil over medium high heat and simmer for 5 minutes.
Stir in mashed potatoes. Simmer an additional 5 minutes. Add the buttermilk and stir to combine allowing mixture to just come to a boil.
Remove from heat and stir in 1 cup cheese, half of the bacon, and ⅓ cup sour cream.
Garnish with a dollop of sour cream, remaining bacon, green onion and serve hot.