Cut bacon with kitchen shears into bite size pieces and cook in dutch oven or soup pot on medium heat until crispy.
Remove bacon to paper towels and drain grease, reserving 1 tablespoon in the pot.
Add butter and onions.
Sauté the onions until they are translucent, add garlic and sauté another minute until garlic is fragrant.
Stir in flour and cook another 1-2 minutes.
Slowly add chicken broth while stirring the whole time.
Stir in potatoes, increase heat to medium-high. Bring to a boil.
Once boiling, reduce heat to low, let simmer and stir occasionally until potatoes are fork tender, about 10-15 minutes depending on size of potatoes.
Stir in heavy cream and sour cream and heat through, but do NOT boil.
Add shredded cheese a handful at a time, stirring each time to completely melt the cheese.
Stir in parsley and season with salt and pepper to taste.
Serve with extra toppings of shredded cheese, bacon pieces, sliced green onions, chopped chives and sour cream.