- If using dried beans, soak overnight, drain, place in a large pot with plenty of water, bring to the boil and then simmer for 60 minutes. After cooking, drain the beans. (They can now be used immediately, cooled and kept in the fridge for up to 3 days, or frozen for up to 6 months.) If using canned beans, just drain and rinse the beans.
- Heat the oil in a large, heavy pan. Add the raisins and walnuts, fry for half a minute, remove and leave to cool on kitchen towel.
- Add the green cardamon and cinnamon to the pan, and fry for about half a minute. Then add the cumin and black cardamon pods (if using), and fry for another minute or two.
- Next add the beans, coconut milk, garlic, ginger, turmeric, chilli powder, nutmeg, bay leaves, salt and lemon juice. Cook for about 10 minutes on a medium-high heat, stirring occasionally.
- Add the coriander, garam masala and 100ml water, cover and leave to simmer over a low-medium heat for an hour. Add more water if necessary.
- While the beans are cooking, rinse the rice and place in a heavy-bottomed pan with an equal measure of water (I use a mug to measure the rice and water), saffron, a generous pinch of salt and splash of vegetable oil. Bring to the boil and then simmer over the lowest possible heat for about 5 minutes or until all the water is absorbed but the rice is not fully cooked. Stir in the chopped mint, lime juice and rose water.
- Assemble the biryani by gently spreading the rice over the beans and sauce, so that it forms an even layer. Sprinkle over the raisins and walnuts.
- Cover and cook over a low heat for a further 10 to 15 minutes. Allow to rest for 5 minutes before serving.