Wash rice 2-3 times under a stream of water until the water runs clear. Add enough water to cover the rice and let soak for 30 minutes. This helps in even cooking of rice.
Rinse a wide and heavy pot with water. Dont wipe the water. Add milk and green cardamom to the pot. Set the milk pot on a low medium stove to boil.
In the mean time warm ghee in a pan and lightly toast the nuts in it. You can deep fry nuts in more ghee if you wish. Transfer to a plate and set aside. You can chop them as small or big as you like once they cool down.
When you see that the milk is starting to boil, drain and add the soaked rice to the milk. Immediately start stirring else the rice will stick to the bottom of the pot.
Now let the rice cook in milk for the next 45 minutes or so. Keep the stove on low medium and keep on stirring the milk often and scraping the sides and mixing with milk as needed.
Slowly the rice will cook and break down into small pieces and the kheer with start becoming thick.
By the end of 45 minutes you will see that the kheer is thick, the milk and rice are not seperate and it resembles a thick custard. If you like a runny kheer, cook for about 35 minutes. You decide how much to reduce the milk depending on the consistency you like.
Take off the stove and let cool down a bit. Once a little cool, add the jaggery powder and mix in. Dont cook after you have added the jaggery powder else the kheer will curdle.
You can pick and discard the cardamom seeds at the end of cooking. If you like a stronger cardamom taste, add ¼ teaspoon ground cardamom powder.
If you want to serve warm, garnish with nuts and serve rightaway. Else chill for a few hours and serve.