Put the bacon into a large heavy pot and place it over medium heat. Cook until it starts to give up its fat, about 4 minutes. Stir in the onions and cook, stirring, until they start to turn translucent, about 4 minutes. Stir in the garlic and cook until you can smell it, about 1 minute. Add the broth, tomatoes, ketchup, Worcestershire, and chili powder. Stir in the beans, turn the heat to high and bring to a boil. Adjust the heat so the soup is bubbling gently and cook 10 minutes. Season with salt and pepper.
Meanwhile, pick off all the thick stems from the cilantro. Wash it and shake dry. Chop the cilantro coarsely and stir it into the soup when it has been simmering 10 minutes. cook until the soup is thickened, about 5 minutes. Stir in the lime juice. Serve with the garnishes.