1 Soak beans overnight in cold water.
2 Drain excess liquid on the following day.
3 Peel the onions and garlic and finely chop.
4 Rinse celery, de-thread if necessary and cut into 1 cm (approximately 1/2-inch) cubes. Halve pepper, remove seeds, rinse and cut into 1 cm (approximately 1/2-inch) cubes.
5 Heat 1 1/2 tablespoons oil in a pot. Add onions, garlic, celery and bell pepper and sauté 3 minutes until onions are translucent.
6 Add beans. Pour in vegetable broth and bring to a boil.
7 Cook over low heat for just under 1 1/2 hours over medium heat, using a slotted spoon to skim excess foam. After 1 hour of cooking, add cumin, curry powder, bay leaves and tomato paste.
8 Remove bay leaves from the bean soup. Puree half of the bean soup with an immersion blender or in a food processor, then pour back into the pot.
9 Cut tofu into 2 cm (approximately 3/4-inch) cubes. Squeeze 2 tablespoons of juice from the lime.
10 Heat the remaining oil in a pan and sear the tofu until golden brown on all sides. Add tofu to the soup and season with lime juice, salt and pepper.