In a heavy bottom pot over medium high heat, cook bacon. Once bacon has been cooked, set it to the side and discard any fat remaining. Add in butter, let it melt and add in onions. Cook for 3-4 minutes, stirring occasionally, or until onions are translucent. Add in garlic, and cook for an additional 30 seconds. Add in the flour, and whisk it around for a minute, before slowly whisking in the half and half and chicken broth. Once all ingredients have 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, sour cream, and cheese. Gently stir, and wait 2-3 minutes for bacon to heat through and cheese to melt. Serve. ENJOY!