Kheer is an aromatic and creamy Indian pudding that’s served during celebrations in India. While this sweet dessert can be made from different kinds of grains, flours, and lentils, the traditional version uses rice. If you like rice pudding but haven’t tried kheer, you’re in for a real treat. The ingredients in kheer can vary, but it’s often made from basmati rice, milk, spices like cardamom and saffron, a sweetener, and nuts.
Recipe developer Michelle Bottalico has created a recipe for creamy kheer that follows the traditional method. Fragrant basmati rice is slow-simmered in an abundant quantity of whole milk until tender. It’s then cooked longer to become extra creamy while other flavorful ingredients and sugar are mixed in. Freshly ground cardamom, saffron, and rosewater come together to create a lovely aroma and taste, and almonds, pistachios, and raisins provide texture, color, and additional sweetness. This dish is truly as beautiful as it is delicious.
It takes some time to make kheer as the rice must be simmered slowly. You’ll also need to pay attention to the pan, stirring frequently so the milk doesn’t stick and burn. However, the result is so fragrant and delicious that it’s well worth the effort to enjoy this rich dessert. As kheer can be enjoyed hot, warm, or cold, you can make a batch to keep in the refrigerator to enjoy within two days.
Gather your creamy kheer ingredients
For this recipe, you will need cardamom pods, which will be ground with a mortar and pestle. Otherwise, you can substitute ¼ teaspoon ground cardamom. You’ll also need basmati rice, unsalted butter for greasing the pan, and whole milk. The other ingredients are saffron, sugar, sliced blanched almonds, unsalted pistachios, and golden raisins. Optional ingredients are more sugar to make the kheer sweeter if desired and rosewater for a floral touch of flavor.
Step 1: Grind the cardamom
Grind the cardamom pods in a mortar and pestle, removing and discarding the outer husks after the pods open. Set aside.
Step 2: Soak the rice
Rinse the rice before placing it in a small bowl and covering it with water. Set aside to soak for 15 minutes.
Step 3: Grease the pan
Grease a wide, heavy-bottomed pan with butter.
Step 4: Heat the milk
Pour the milk into the pan and bring it to a gentle boil over medium heat. Stir frequently to prevent sticking or burning as it gets hotter.
Step 5: Steep the saffron
While the milk is heating, remove 2 tablespoons of it from the pan once hot and place it in a small bowl. Add the saffron, stir, and set aside to steep.
Step 6: Add the rice
As soon as the milk comes to a gentle boil, reduce the heat to low and stir in the rice.
Step 7: Cook the rice
Let simmer on low for 25-30 minutes, stirring frequently and scraping the sides of the pan, until the mixture has thickened and the rice is soft and fully cooked.
Step 8: Add the sugar
Stir in the sugar until dissolved. Taste and add 1-2 additional tablespoons of sugar if desired.
Step 9: Simmer until thickened
Simmer the mixture on low until thickened more, about 10 minutes.
Step 10: Add the spices and nuts
Stir in the cardamom, saffron milk, almonds, and pistachios and simmer for about 5 more minutes.
Step 11: Remove from the heat
Remove the pan from the heat and add the raisins and rosewater, if using. Stir to mix. The kheer will continue to thicken as it cools.
Step 12: Garnish individual dishes
Pour the kheer into individual bowls and garnish with almonds and pistachios.
Step 13: Serve the creamy kheer
Serve hot, warm, or cool. Store leftovers in the refrigerator for up to 2 days. Stir in a splash of milk before serving if it thickens too much while chilled.
Creamy Kheer Recipe (Indian Rice Pudding) Recipe
Kheer is a delightfully creamy Indian pudding made with basmati rice, flavored with rosewater, saffron, and cardamom and topped with pistachios and raisins.
Ingredients
- 3 cardamom pods
- ¼ cup basmati rice
- Unsalted butter for greasing
- 4 cups whole milk
- ½ pinch saffron threads
- 4 tablespoons sugar
- 1 tablespoons sliced blanched almonds, plus more for garnish
- 2 tablespoons unsalted pistachios, sliced, plus more for garnish
- 2 tablespoons golden raisins
Optional Ingredients
- 2 tablespoons additional sugar
- 1 teaspoon rosewater
Directions
- Grind the cardamom pods in a mortar and pestle, removing and discarding the outer husks after the pods open. Set aside.
- Rinse the rice before placing it in a small bowl and covering it with water. Set aside to soak for 15 minutes.
- Grease a wide, heavy-bottomed pan with butter.
- Pour the milk into the pan and bring it to a gentle boil over medium heat. Stir frequently to prevent sticking or burning as it gets hotter.
- While the milk is heating, remove 2 tablespoons of it from the pan once hot and place it in a small bowl. Add the saffron, stir, and set aside to steep.
- As soon as the milk comes to a gentle boil, reduce the heat to low and stir in the rice.
- Let simmer on low for 25-30 minutes, stirring frequently and scraping the sides of the pan, until the mixture has thickened and the rice is soft and fully cooked.
- Stir in the sugar until dissolved. Taste and add 1-2 additional tablespoons of sugar if desired.
- Simmer the mixture on low until thickened more, about 10 minutes.
- Stir in the cardamom, saffron milk, almonds, and pistachios and simmer for about 5 more minutes.
- Remove the pan from the heat and add the raisins and rosewater, if using. Stir to mix. The kheer will continue to thicken as it cools.
- Pour the kheer into individual bowls and garnish with almonds and pistachios.
- Serve hot, warm, or cool. Store leftovers in the refrigerator for up to 2 days. Stir in a splash of milk before serving if it thickens too much while chilled.
Nutrition
Calories per Serving | 316 |
Total Fat | 14.0 g |
Saturated Fat | 6.8 g |
Trans Fat | 0.0 g |
Cholesterol | 32.6 mg |
Total Carbohydrates | 38.7 g |
Dietary Fiber | 1.0 g |
Total Sugars | 28.2 g |
Sodium | 107.6 mg |
Protein | 10.0 g |

How can I heat milk without burning it?
One of the most important tips to know when cooking with milk is how to heat it up without burning it. This is important for this kheer recipe, which is made by slowly simmering basmati rice in milk. If you’ve ever burned milk in a saucepan on the stove before, you’ll know that the result is less than ideal. Fortunately, there are two things you can do to decrease your chances of burning milk.
First, grease the pan with oil or butter before adding the milk. The fat will create a barrier between the pan and the milk, making it less likely that the milk will stick to the pan and burn. You can even achieve the same effect by wetting the bottom and the sides of the pan with a couple of tablespoons of water if you’d rather not use a fat.
The second tip is to scrape the pan. To make kheer, you’ll slowly bring the milk to a gentle boil on medium, and then simmer the rice in milk on low the rest of the time. If you’re heating milk for other recipes, you may not need it to boil. Either way, don’t go too far from the stove, because you’ll need to scrape the bottom of pan every minute or so with a wooden spoon. This will also keep the milk from burning and sticking.
What other ingredients or methods can be used to make kheer?
Kheer is generally made with basmati rice, one of the essential ingredients for Indian cooking. If basmati rice is unavailable, first try to use any other kind of fragrant rice, like jasmine rice. Otherwise, you can make kheer with regular white rice. If you’d rather avoid whole milk, you can use canned coconut milk instead. It will give the kheer a different flavor, but it will stay thick and creamy. Otherwise, you can successfully make kheer with oat, almond, or rice milk, but it won’t be as creamy and rich. On the other hand, you can make it even creamier by adding sweetened condensed milk near the end, but cook the rice first in milk or water or a mixture of both. Don’t use sugar when using condensed milk or the kheer will be too sweet.
Instead of ground cardamom, you can make kheer with ground nutmeg. We use almonds and pistachios in our recipe, but other nuts like cashews will also work well. You can choose raw, blanched, or roasted nuts, but make sure they’re unsalted. For additional flavor, you can fry the nuts in ghee before using them in the recipe.
Besides granulated sugar, you can use brown sugar or jaggery, but stir them in at the end after you’ve taken the pan off the heat and let it cool for five minutes. Finally, rosewater can be substituted with kewra water to give it a floral aroma.