Cut the bacon into small pieces (I do this quickly with kitchen shears) and add it to a soup pot over medium-high heat. Cook until crispy (about 10 minutes). Transfer bacon to a paper towel lined plate. Leave the fat in the pot.
Add the ground beef to the pot and cook until browned, breaking it up with your spoon and stirring it periodically. Drain the fat and transfer the beef to another paper towel lined plate.
Add the butter to the pot and once it's melted, add the onion and celery and sauté for 4-5 minutes.
Stir in the garlic and flour. Cook for about 2 minutes, breaking it up with your spoon/stirring it as you go along. This step is important because it cooks the raw flour flavor out.
Slowly whisk in the chicken broth until all the flour has dissolved and there's no lumps.
Stir in the cream, Worcestershire sauce, potatoes, and add the beef back to the pot. Increase the heat to high and bring the soup to a boil, then reduce the heat so it's bubbling but not furiously boiling (medium-low heat is what works with my cast iron pot and gas stove). Cover the pot with the lid slightly ajar.
Let the soup simmer for about 15 minutes or until the potatoes are tender and the soup has thickened up to your liking. I like to stir it a few times to ensure nothing is sticking and that the stove's temperature is still correct.
Turn the burner off, and then stir in the cheddar gradually. If the soup seems too thick for your liking, add in a splash more chicken broth (or milk or cream will work too).
Stir in most of the cooked bacon (I keep some for topping the bowls), and taste and season with salt & pepper if needed. Stir in the optional chopped pickles or top the bowls with them.