For dried beans, start by rinsing them under running water to remove any dirt or debris. Soak them overnight in a large bowl filled with water to soften them and reduce cooking time. The next day, drain and rinse them before adding them to your recipe. If using canned beans, simply drain and rinse them thoroughly in a colander to remove excess sodium, making them ready to use instantly.
Heat olive oil in a large stockpot over medium heat to create a flavorful base. Add diced onions, garlic, carrots, and celery, stirring frequently to coat them in the oil. Sauté the vegetables for about 5 to 7 minutes until they soften and release their natural aroma. This step enhances the depth of flavor in the soup and builds a strong foundation for the dish.
Sprinkle in the ground cumin, smoked paprika, and chili powder, stirring them with the vegetables for about a minute. This helps release the spices’ rich aroma and deepen the soup’s taste. Pour in diced tomatoes, beans, bay leaf, and broth, stirring everything together. These ingredients blend to create a hearty and well-seasoned base for the soup.
Bring the soup to a gentle boil, then reduce the heat to low and cover the pot. Let it simmer for about 60 minutes if using dried beans, stirring occasionally to ensure even cooking. If using canned beans, reduce the cooking time to 30 minutes. This slow simmering process allows the flavors to meld together beautifully, making the soup rich and delicious.
Taste the soup and adjust the seasoning with salt and pepper as needed. For a creamier texture, blend a portion of the soup using an immersion blender while leaving some chunks intact. This technique creates a thick, velvety consistency while keeping a bit of texture for a satisfying bite. Adjusting the texture makes the soup more enjoyable and personalized to your liking.
Once the beans are tender and the flavors are well combined, remove the bay leaf. Ladle the hot soup into bowls and garnish with fresh cilantro for brightness. Add a dollop of sour cream for creaminess and a squeeze of lime juice for a refreshing zest. Serve warm and enjoy a comforting, hearty meal full of bold flavors.