Dice the onion and red pepper and mince the garlic.
Heat the oil in a large saucepan over medium heat. Add the onion, pepper and garlic and cook, stirring, until soft, about 6 minutes. Stir in the cumin and smoked paprika for 30 seconds.
Add the beans and broth, bring to a boil over high heat, then lower to medium-low and simmer for 15 minutes.
Blend about half the soup with a stick blender, or ladle half into a blender (vent the lid and cover with a towel; hot soup expands), then stir it back in.
Stir in the lime juice and season to taste.
Serve topped with Greek yogurt, salsa and cilantro.