Transfer the rice to a small bowl and fill with cold water. Drain the starchy water through a fine-mesh strainer. Repeat rinsing and draining until the water runs nearly clear. Drain completely.
Add the water and milk to a large, heavy-bottomed pot set over high heat. Bring to a gentle boil, stirring often to prevent the milk from burning.
Reduce heat to medium. Add the rice. Cook the rice, stirring often, until the rice is soft and completely cooked.
Stir in the desired amount of sugar and cardamom powder. Continue to cook, stirring often, until the kheer has thickened to the desired consistency. (note - kheer will continue to thicken as it cools)
In the last 5 minutes or so of cooking, stir in the nuts and raisins, if desired, or leave them out and add them as a garnish.
Remove from heat and serve warm, or allow to cool and serve chilled.