Heat the oil in a large saucepan, add the onion, garlic and chilli and fry for 2 minutes. Add the coriander stalks and green pepper and continue to fry for 2–3 minutes, then stir in the cumin and paprika.
Stir in the beans, tomatoes, tomato paste and stock, bring to the boil and simmer for 20 minutes.
Purée half the soup in a food processor or blender, then return to the pan with the coriander leaves (reserving 4 for garnish), season well and heat through until piping hot. Serve garnished with the reserved coriander leaves.