Soak rice in water for around 30 minutes. After 30 minutes discard water and put the soaked rice in a grinder with around a tablespoon of water to make a coarse paste. It should be grainy like semolina.
In a heavy-bottomed pan boil milk. Add rice paste and cook for 5-7 minutes stirring continuously otherwise lumps will get formed in the milk. After that cook it for another 10-15 minutes stirring in between.
When the milk thickens and reduces to almost half in quantity, add sugar, cardamom powder, and rose essence. Mix well and cook for another five minutes or until the sugar gets dissolved.
Put the phirni in clay pots or any normal serving bowls and put in the fridge for atleast 2-3 hours.
To serve, take out from the fridge, garnish with chopped pistachios, dried rose petals, saffron strands, and cardamom powder. Enjoy chilled!
Notes
Traditionally phirni is served in clay pots. It not only keeps it chilled for a longer time but also gives a very nice texture by absorbing the extra moisture. However, if you could not find clay pots, use normal serving bowls.