Place saffron threads into boiling water, set aside to steep for 10 minutes.
Melt the oil in a large saucepan over medium-high heat. Add the onions and cook stirring for 5 minutes or until golden. Add the spices and cook for 2 to 3 minutes to release the flavour, stirring constantly.
Pour in the rice and cook for 10 minutes, stirring constantly. Add the yoghurt, saffron water, and salt. Bring to the boil and reduce heat to low. Cover tightly and cook for 15-20 minutes or until rice is tender and water is absorbed. Remove from heat. Fluff with a fork and stand. covered, for 5 minutes. Remove the cinnamon sticks, cloves, and cardamom seeds before serving.