Put the saffron strands in the warm milk and keep aside for about 20 to 30 minutes to bring out the flavour and colour.
Heat about 1 tbsp of ghee in a heavy bottomed or nonstick pan. Add the rava (semolina and sautxe9, over medium heat, till it starts turning pinkish/ golden brown and giving off an aroma. Do not brown the semolina even slightly. Empty it onto a plate and keep aside.
Put another 1/2 tbsp of ghee in the pan and fry the raisins in it till they turn whitish/ golden brown and puff up. Remove them and keep aside. To the same little bit of residual ghee, add the broken cashewnuts and fry till golden brown. Remove them and add to the raisins.
Into the same pan, pour the milk with the saffron threads in it and water and bring the whole thing to a boil. Turn down the heat to medium and add the rava (semolina) while stirring constantly to ensure there are no lumps.
Keep stirring, frequently, and cook till the rava (semolina) absorbs all the liquid and is cooked well. It will start bunching up in to a ball when stirred and look soft and slightly puffy. Ensure it is well cooked, as once the sugar is added the kesari (pudding) will not soften anymore.
Add the sugar and mix well. The sugar will melt causing the kesari (pudding) to loosen up a bit. Cook for about 5 minutes , stirring occasionally, making sure the kesari does not get stuck to the bottom of the pan.
Now add the remaining ghee and cook till the ghee gets absorbed and the kesari looks shiny and starts coming away from the sides of the pan to the middle. This should take another 5 to 10 minutes.
Finally add the powdered cardmom, the fried raisins and cashewnuts. Mix well and serve warm. Else refrigerate the kesari and serve cold, or warm slightly once again before serving. This will keep for about 2 to 3 days refrigerated.