Rinse 1 cup short-grain rice under cold water 2-3 times until water runs clear. Combine rice and 4 cups water in a heavy-bottom saucepan. Bring to a boil over medium-high heat, then reduce to low simmer. Cook uncovered for 30 minutes, stirring every 5 minutes. Rice should start breaking down and liquid should reduce by half.
1 cup short-grain rice, 4 cups water
While rice cooks, steep ¼ teaspoon saffron threads in 2 tablespoons hot water in a small bowl. Let sit for 15 minutes until the water turns deep golden and saffron blooms fully. Add steeped saffron (threads and liquid) to the rice after the first 15 minutes of cooking.
0.25 teaspoon saffron threads
After 30 minutes, add ¾ cup sugar gradually, stirring constantly. Sprinkle in a few tablespoons at a time and stir until each addition dissolves before adding more. Continue simmering on low for another 10-15 minutes until pudding thickens and rice releases more starch.
0.75 cup sugar
Stir in 1 tablespoon rose water, ¼ teaspoon cardamom powder (if using), and 2 tablespoons butter or ghee. Mix thoroughly and cook for 2 more minutes. Pudding should coat the back of a wooden spoon and hold its shape when you draw a line through it. If too thin, simmer uncovered for 3-5 more minutes.
1 tablespoon rose water, 0.25 teaspoon cardamom powder, 2 tablespoons butter or ghee
Remove from heat and pour into a shallow serving dish or individual bowls. Let cool uncovered for 10 minutes, then cover and refrigerate for at least 1 hour before serving. Garnish with toasted slivered almonds, chopped pistachios, and a dusting of ground cinnamon right before serving.
2 tablespoons slivered almonds, to taste ground cinnamon, as needed pistachios