In a large bowl wash rice in several changes of cold water until the water runs clear and drain it in a fine sieve.
In a large heavy saucepan heat the oil over moderately high heat until it is hot but not smoking, add the cinnamon stick, the cloves, and the cardamom pods, if using, and fry the spices, stirring, for 30 seconds, or until the cloves are puffed slightly. Add rice and cook the mixture, stirring, for 1 minute, or until the rice is opaque. Add 2 1/4 cups water and the salt, bring the mixture to a boil, and cook the rice, covered, over low heat for 15 minutes.
While the rice is cooking, in a heatproof bowl set over a small pan of simmering water heat the saffron for 3 to 4 minutes, or until it is brittle. Add milk, heat the mixture, stirring occasionally, until it is hot, and remove the pan from the heat. Drizzle the saffron mixture over the rice and continue to cook the rice, covered, for 5 minutes. Remove the pan from the heat and let the rice stand, covered, for 5 minutes.