In heavy pot over medium heat, cook bacon. Once bacon has been cooked, set it to the side and discard any remaining fat.
Add in butter and melt
Add onions to melted butter and cook for 3-4 minutes, until translucent.
Add garlic, and cook for an additional 30 seconds.
Add flour, and whisk for one minute, then slowly whisking in the half and half, then chicken broth.
Once all ingredients are combined, add in the seasonings, potatoes, and celery.
Bring soup to a simmer and cover halfway.
Cook for 25 minutes, or until potatoes are tender.
While potatoes are cooking, roughly chop the bacon, and keep to the side.
Once potatoes are tender, lower heat to low and add in chopped bacon (leave some for the toppings), sour cream, and cheese. Gently stir, and wait 2-3 minutes for bacon to heat through and cheese to melt.
Serve.Top with a dollop of sour cream, chopped green onions, some leftover bacon and cheese.