For the Rice: Soak the saffron in a bowl of hot water for 30 minutes. Wash the rice, rinse and soak in another bowl of cold water for at least 30 minutes, then drain.
To Make the Garnish: Start by heating the ghee in a small frying pan over a medium heat. Add the nuts and allow to brown lightly, then add the sultanas and heat through until puffy. Set aside.
Then heat the oil in a shallow frying pan over a medium heat. When hot, add the onions and fry for 7 - 8 minutes until medium brown. Remove and drain on paper towels, then set aside.
To Cook the Rice: Heat about 2 tablespoons vegetable oil in a saucepan with a lid over a medium heat. When hot, add all the whole spices and fry for 30 seconds, or until they start to splutter. Add 800ml/28 fl oz/3-1/2 cups water to the oil and spices, bring to a boil. Add the saffron and drained rice. Make sure the rice is well covered by the water, adding more if necessary. The water should turn a light yellow.
Reduce the heat to medium-low. After about 4 - 5 minutes, check to see if the rice is cooked. If not, replace the lid and cook for a further 2 - 3 minutes until done. Drain the rice and leave in the sieve for 2 - 3 minutes until all the moisture has evaporated and the rice is light and fluffy.
Transfer to a platter and serve, garnished with the nuts, raisins and browned onions.