Take milk in a wide-bottomed pan or saucepan and keep it on stovetop on a low to medium heat. Remember to use a heavy pan so that the milk does not burn while cooking.
Stir at intervals a few times when the milk is heating up.
Meanwhile crumble the paneer and keep aside.
Crush the cardamoms in a mortar-pestle to a fine powder. Chop the nuts and keep aside.
Whilst the milk comes to a boil, lower the heat and simmer the milk till it thickens a bit for about 5 to 6 minutes.
Keep stirring the milk at intervals when it is simmering. Then add sugar and continue to cook further for 5 minutes.
Stir to mix the sugar with the milk. Then add chopped almonds, pistachios, cashews, cardamom powder and saffron. Mix well and simmer for 1 or 2 minutes.
Add the crumbled paneer. You can also grate the paneer and add. Since I was using fresh paneer, I crumbled it. If adding refrigerated or frozen paneer, then you can grate it. If the paneer appears dry, then just soak it warm water and then crumble or grate.
Simmer for 1 minute on a low heat till the crumbled paneer gets cooked. Then add rose water and stir.
Serve paneer kheer hot, warm or chilled. This kheer can be had plain and they also taste good with pooris. While serving you can garnish it with few saffron strands or chopped nuts or rose petals
Notes
Use whole milk as it gives a creamier and richer consistency.
Feel free to add nuts that you like.
You can skip rose water if you do not have it. Even saffron strands can be skipped. But do add cardamom powder.
It is best to use homemade paneer. But you can use frozen paneer or packaged paneer. For frozen paneer, thaw it according to the package instructions.
The recipe can be scaled to make a small batch or a larger batch for small parties.