Brown the fresh chorizo. Drain on paper towels to absorb fat.
Chop onion, carrot, and celery into small dice. Add 2 tablespoons of olive oil to a stockpot, medium-high heat. When the oil is hot, add the diced vegetables.
Saute until the vegetables are starting to get soft, about 5 minutes. Add the garlic and stir until it is fragrant about 1 ½ minutes.
Add the tablespoon of tomato paste to the pot, stirring to cover the vegetables.
After 1-2 minutes, the tomato paste will be a rust color. Add the beans, 4 cups of chicken stock, 1 tablespoon of soy sauce, and the 2 bay leaves. Stir to combine.
Cook the beans, stock, etc. over medium heat until the stock is starting to bubble. Heat for about 30 minutes. Do not let the soup boil. If it does, lower the heat.
The soup is pureed to a creamy texture. Be careful using a blender with hot liquid. Puree in small batches, adding it back to the stockpot. If the soup is too thick, add another cup of chicken stock. I usually do which gives me 9 cups of soup.
When all the beans have been pureed, continue to warm the soup over medium heat. Add the reserved chorizo.
Season with 1 teaspoon of kosher salt, ½ teaspoon of ground black pepper, zest and juice of ½ lime, and 1 tablespoon of minced cilantro.
I serve 1 ½ cups per person. Garnish with sliced avocado, queso fresco, and lime wedges.
Notes
I like to serve several garnishes with the soup - queso fresco, lime wedges, avocado, and additional cilantro are some suggestions.