In a large pot over medium heat, cook bacon pieces until crispy, about 10 minutes. Remove from pan; drain excess grease reserving about 1 tablespoon of drippings in the pan.
Add onions and celery to the pot with the reserved drippings, season with salt and pepper. Cook over medium heat while tossing occasionally until just soft, about 5 minutes. Add garlic, toss and cook another 1 minute.
Pour half of the beer into the pot. Cook over medium-high heat until reduced, about 10 minutes. Stir in chicken broth and the rest of the beer, then bring to a simmer. Optional: Use an immersion blender to blend the onions and celery into the soup until smooth.
Remove 1/2 cup of the hot liquid to a small bowl and whisk with the flour. Slowly stir mixture back into the pot. Bring soup to a boil over high heat, reduce to medium-low and simmer for 10 minutes until slightly thickened. Whisk in the heavy cream and more salt & pepper, to taste. Heat for 10 minutes.
Remove pot from heat. Gradually stir in cheese until smooth. Serve in individual bowls topped with bacon, or stir the bacon into the pot of soup then serve.