Put the rice into a bowl, cover with cold water and leave to soak, to remove some of the starch.
Melt the butter in a heavy-based saucepan over very low heat. Peel and chop the onion and garlic and add to the pan. Increase the heat and fry for 1–2 minutes or until the onion softens. Stir in the ground coriander and cumin and reduce the heat to very low.
Pour the rice into a sieve and rinse. Add the rice to the onion and stir in 1½ cups boiling water. Add the cinnamon stick, saffron threads, raisins, salt and pepper.
Bring it to a fast boil, then reduce the heat until barely simmering. Cover and cook the rice for 15 minutes; do not lift the lid.
Meanwhile, put the broad beans into a saucepan, cover with boiling water and bring back to the boil. Reduce the heat, cover and simmer for 5–6 minutes.
Lightly toast the almonds and put aside. Put the yoghurt into a bowl, chop the coriander, then stir it into the yoghurt.
Drain the broad beans and drizzle with the oil, if using.
Remove the rice from the heat and leave to stand, still covered, for 3 minutes. Then add the almonds and broad beans and fluff up with a fork. Serve the rice accompanied by the bowl of yoghurt.