In a heavy-bottomed pot or dutch oven, crisp the badon over medium to medium-high heat. Scoop the cooked bacon onto a paper-towel-lined plate, and set aside. Leave the bacon fat in the pot.
To the pot, add the onion and a pinch of salt and pepper, and cook for 2-4 minutes until softened. Add in the garlic and cumin and cook for 1 to 2 minutes more. Add in the tomatoes and thir juice, the beans and their liquid, and the chicken stock, and bring to a boil. Lower the heat to simmer and cook for 30 minutes.
Using a slotted spoon, scoop 2-4 cups (depending upon how thick you want your soup...leave more in if you want it thicker) of the bean/onion/tomato mixture out of the liquid, and set aside. Pour the remainder of the soup into your blender, and puree until smooth. Pour it back into the pot, and stir in the reserved bean mixture.
Serve the soup with an assortment of toppings (the more, the better!) including: creme fraiche, the crisped bacon, lime wedges, fresh cilantro, cotija cheese, and hot sauce.