In a large saucepan on medium heat, add 1 tbsp oil and the drained rice and 1-2 cardamom pods.
Stir to allow the rice and cardamom to toast, about 1-2 minutes, and then add the 4 cups of milk. Bring to a boil, stirring often.
Turn the heat down to a simmer. Allow the kheer to simmer for at least 25 minutes, stirring occasionally, making sure the bottom does not burn. For an extra thicker pudding simmer for an additional 10-15 minutes.
When the kheer has reached your desired thickness, add 3-4 tbsp sugar (adjust the amount of sugar to your liking), pinch of saffron, and 1 tbsp rose water. Stir to combine and adjust for sweetness. Remember that it will taste less sweet when it is cooled down.
Remove from heat and transfer to serving dish(es).
If you want to avoid any skin or film from forming on top add a sheet of plastic wrap on top of the kheer so it is just touching the surface. Keep this on while it cools to avoid the skin from forming. If not, sprinkle with chopped nuts and allow to come to room temperature then chill in the fridge for at least 6 hours.
Just before serving you can add more chopped nuts. Enjoy!