Begin by rinsing the basmati rice for a couple of times in water.
Drain the water and spread the rice grains on a tray/plate to dry. You can use a kitchen towel too for drying.
When the rice grains are thoroughly dried, add them in a dry/coffee/mixer grinder or blender.
Grind the rice grains till a coarse consistency is achieved, similar to that of semolina, cornmeal or couscous.
Heat whole milk in a saucepan or kadai till it begins to boil.
While the milk is boiling, mix some saffron strands in warm milk in a bowl.
When the milk begins to boil, add the ground rice.
Mix and stir the ground rice well into the boiling milk.
Add the sugar and stir again. For a sweeter phirni, use more sugar.
Cook the rice granules on low heat while stirring often. Keep scraping the sides too and adding it to the simmering milk.
When the rice granules are almost cooked, add ground cardamom and saffron milk.
Add blanched, sliced almonds and chopped or slivered pistachios. You can also add cashewnuts or pine nuts.
Cook the phirni further till the rice is completely softened and a pudding like consistency is achieved.
Lastly, add the rose water. If you don't have it, skip it. Alternatively, you can also use pandanus water (kewra water).
Pour phirni in serving bowls, sprinkle some almonds and pistachios on top.
Cover the bowls tightly with aluminium foil. When cooled to room temperature, refrigerate for 4 hours or more.