Place the rice in a bowl and wash it 2-4 times under running water or until the water runs clear. Add enough water to cover the rice and let it soak for 30 minutes.
While the rice is soaking, open 2 green cardamom pods, remove the seeds, and grind them into a fine powder using a small mortar and pestle. Set aside.
In a wide, heavy pot (I use a 3-quart sauce pot), heat up 1 teaspoon of ghee over low flame. Add the cashews and raisins. Stirring continuously, toast until the raisins swell slightly and the cashews turn a light golden color. Remove with a spoon and transfer to a plate. Set aside. You can chop the cashews if you prefer once they cool down.
Without washing the pot, pour in the whole milk. Optionally, add 2 whole green cardamom pods. Set the pot on a low-medium heat to bring the milk to a slow boil.
Once the milk starts to boil, add the drained, soaked rice. Stir immediately to prevent the rice from sticking to the bottom of the pot.Don't cover the pot.
Let the rice cook in the milk for 25-30 minutes, keeping the heat on low-medium. Stir the milk intermittently, scraping the sides of the pot and mixing the residue back into the milk. As the rice cooks, it will soften, and the starches will thicken the kheer.
After 30-35 minutes the kheer should be thick, with the rice well cooked and well combined with milk. To check, take a single grain of rice and smush it between your thumb and index finger- it will be soft.
Add the condensed milk and mix well. The kheer will become runny again. Continue to cook for an additional 5-10 minutes or until it reaches your desired consistency. Remember that the kheer will thicken further as it cools.
Remove the pot from the heat, pick and discard the whole cardamom pods. Mix in the freshly ground cardamom powder, nuts and raisins. Serve warm or chill for a few hours. As the kheer cools down, a skin will form on top of kheer. Mix it back in. Once cooled completely, chill the kheer for a few hours before serving.