First, soak the beans. Once, you do it, pour out the water and rinse them. Then, keep them aside.
Heat olive oil in a big pot on medium heat. Then, cook onions, celery, and carrots until they become soft, which should take around 10 minutes.
Add the chili powder, cumin, red pepper flakes, smoked paprika, salt, and pepper, and cook for 1 minute.
Add the black beans, stock, tomatoes with liquid, and 2 cups of water. Bring to a boil over high heat, then reduce the heat to low and simmer uncovered for 40-45 minutes until the beans are tender.
Now, cool down the soup a bit. Then, take an immersion blender or transfer about half of the soup to a blender (in batches if needed) and blend it until smooth. Then, pour the blended soup back into the pot and stir it together.
Ladle into individual bowls and top with sour cream, grated Cheddar cheese, and/or chopped scallions as desired.