Rinse the rice, until the water runs clear. Place the rice in a bowl and cover with cold water. Set the rice aside for one hour to soak. Drain the rice.
Heat half of the oil in a saucepan using a high heat. Add the onion. Stir and cook the onion for about ten minutes, until crisp. Remove the onion and drain on paper kitchen towel.
Heat the remaining oil over a low heat. Add the cinnamon stick, cardamom pods and cumin seeds. Cook for about 30 seconds to release the aromatics.
Add the rice, pistachios and raisins to the spices. Cook for about a minute. Everything should be coated and glossy from the oil.
Add the water and salt. Bring to the boil using a high heat. Reduce heat to medium and cook for another 10 minutes.
Reduce the heat to low. Cover the saucepan with 2 thicknesses of aluminum foil and cover tightly with a lid.Continue to cook for about another 10-15 minutes, or until tender. Separate the rice grains using a fork.
Meanwhile -- place the coconut in a frying pan over a medium heat. Stir and toast the coconut for 1 to 2 minutes. Be careful not to burn the coconut.
Place the rice in a serving bowl. Top with the fried onions and toasted coconut. Serve.