Place the beans in a deep bowl and cover with cold water. Leave to soak overnight. Place in a large saucepan with double the volume of water and bring to the boil. Boil rapidly for 10 minutes, then reduce the heat to low. Simmer gently for about 40 minutes until the beans are tender.
Meanwhile, heat the oil in a large saucepan over a medium heat. Add the onion, cinnamon, bay leaf, garlic and ginger, and stir-fry for 4–5 minutes. Add the ground coriander, cumin and curry powder, and stir to mix well.
Drain the beans and add to the saucepan with the tomatoes and measured boiling water. Bring to the boil, reduce the heat and simmer for 10 minutes, stirring often. Remove from the heat and season to taste. Swirl in the whisked yogurt and coriander just before serving.