Heat olive oil in a large pot over medium heat. Add onion and bell pepper, cooking until softened, about 5-6 minutes.
Add garlic, cumin, smoked paprika, chili powder, and cayenne. Stir constantly for 1 minute until fragrant.
Add black beans and broth to the pot. Bring to a boil, then reduce heat and simmer for 20 minutes to let flavors meld.
Using a potato masher or the back of a wooden spoon, mash about half of the beans against the side of the pot to thicken the soup while leaving some whole for texture.
Stir in lime juice and season with salt and pepper to taste. If soup is too thick, add more broth or water to reach desired consistency.
Serve hot in bowls topped with a dollop of sour cream, shredded cheese, diced avocado, and fresh cilantro. Perfect with tortilla chips for scooping!