Place the beans in a bowl, cover them with cold water and leave to soak overnight.
Drain the beans thoroughly, rinse them in fresh water and drain again. Put them in a large saucepan with enough water to cover and bring to the boil. Boil rapidly for 15 minutes, skimming the surface as necessary. Drain well, rinse and set aside to drain thoroughly.
Place the oil in a saucepan with 1 tablespoon of the stock, then add the chilli, garlic, celery, onions and green pepper. Cover the pan and cook over a medium heat for 10 minutes, or until the vegetables have softened, shaking the pan occasionally to prevent them sticking. Stir in the cayenne pepper or paprika and cook for a further 1 minute.
Add the bay leaf, boiled beans, remaining stock and tomatoes and bring the mixture to the boil, then reduce the heat to low. Cover the pan and simmer for 45 minutes, or according to the instructions on the packet, until the beans are tender, removing the lid for the last 10 minutes so that the juices reduce. Season with salt and pepper to taste and serve.