In a heavy-bottomed pan, heat some ghee and add the nuts. Toast the nuts till they are golden brown. Remove and keep aside.
Add a little more ghee and toast the makhana in the same pan. Roast on low heat for about 2-3 minutes. Keep moving them around with a spatula so that they don't get burnt.
At this stage, if you want, you can take some of the makhana from the pan and keep aside. Crush this to a coarse powder with a mortar and pestle or in a small blender jar. Add this back to the pan.
Once the makhana is roasted, add the milk to the pan. Bring the milk to a boil over medium heat and then lower the heat to a low or medium-low heat and let it simmer. Keep stirring the milk frequently to avoid the milk from getting scorched.
Add the ground makhana to this, if you kept some aside earlier.
Add the ground cardamom and sugar and let the sugar melt into the kheer.
Mix in the saffron strands as well.
Let it all simmer for a couple more minutes. Don't let the milk simmer for too long and get too thick, especially if you have added the crushed makhana to this. The makhana will absorb the liquid over time and the kheer might get too thick.
Add the roasted nuts back to the pan once the kheer is almost done. Serve immediately so the nuts are still crispy.