Put all the beans in a large bowl, cover with cold water and leave to soak overnight, then drain and rinse.
Tip the beans into a saucepan, cover with fresh cold water and bring to the boil for about 10 minutes then drain and set aside.
Heat the oil in a large saucepan and cook the onion for about 10 minutes on a medium heat.
Add the carrot, celery and red pepper and cook for a further 5 minutes.
Stir the garlic, ginger and chilli and cook for another 5 minutes.
Add the beans, tomatoes, chilli powder, paprika and 250ml water and simmer gently for 2 hours, stirring from time to time.
[You can also serve this chilli with some guacamole by mashing together 2 avocados, 1/2 sliced red onion, 1/2 chopped fresh green chilli and juice of a lime.]