Cook bacon in a large pot over medium heat for about 5 minutes.
Stir in the garlic and cook until fragrant.
Add broth, tomatoes, ketchup, Worcestershire, and chili powder. Mix in the beans, and bring to a boil.
Once boiling, lower heat to a simmer for about 10 minutes.
While soup is simmering, cut off cilantro stems and coarsely chop. Add cilantro to soup and simmer an additional 5 minutes, until thickened. Stir in the lime juice and season with salt and pepper.
Serve warm and garnish with toppings like fresh cilantro, limes, sour cream, cheese and avocados.