Creamy Kheer Recipe: Indian Rice Pudding
Kheer is the Indian rice pudding that turns a handful of pantry staples into a creamy, cardamom-scented dessert. It’s the one you’ll find at festivals, family dinners, and quiet weeknights when nothing else will do.

This recipe keeps it simple: just rice, whole milk, sugar, and a few aromatics simmered low until spoon-coating thick. No shortcuts, just patience and a pot.
Why This Kheer Is Worth the Stirring
The reason I keep coming back to this version is the texture. The milk cooks down gently, leaving every spoonful silky and rich without a drop of cream.
It smells like warm cardamom and saffron, and it tastes sweet but not heavy. A bowl of this feels like the dessert equivalent of a soft blanket.
Ingredients

- 1/4 cup basmati rice: rinsed; any short-grain white rice works here.
- 4 cups whole milk: full-fat for the creamiest pudding.
- 1/3 cup sugar: white or jaggery; adjust to how sweet you like it.
- 3 green cardamom pods: lightly crushed so they release their seeds.
- A pinch of saffron strands: optional, but steep them in 1 tbsp warm milk first.
- 2 tbsp sliced almonds and pistachios: for garnish.
- 1 tbsp golden raisins: optional, but add a nice chewy bite.
Variations / Substitutions
- Swap sugar with jaggery: use an equal amount of grated jaggery for a deeper, almost caramel note.
- Dairy-free version: replace whole milk with canned full-fat coconut milk. The texture will be thicker and the taste slightly tropical.
- Skip the saffron: a few drops of rose water or kewra water at the end give it a floral lift instead.
- Summer twist: once the kheer has cooled, fold in 1/2 cup of mango puree for a mango kheer. It’s a whole different dessert.
If you love this, try making Phirni next. It’s the same idea but made with ground rice, so the texture turns out softer and more pudding-like.
How to Make Kheer
Step 1: Rinse and Soak the Rice

Rinse the 1/4 cup basmati rice under cool water until the water runs clear. Soak the rice in enough fresh water to cover for about 20 minutes, then drain it well. This step softens the grains so they cook faster and release starch that thickens the pudding.
While the rice soaks, you can crush the cardamom pods and measure everything else. The soaking isn’t rushed, and neither is the rest of the process.
Step 2: Steep the Aromatics in Milk

Pour the 4 cups whole milk into a wide, heavy-bottomed pot. Add the 3 crushed cardamom pods and the soaked saffron strands along with their milky liquid. Set the pot over medium heat and bring it to a gentle simmer, stirring here and there so the milk does not stick. This takes about 5 minutes.
You’ll smell the cardamom almost right away, and the milk will take on a pale golden color. Keep the heat gentle; a rolling boil can cause the milk to curdle, and once that happens there’s no real fix.
Step 3: Simmer the Rice in the Milk

Drain the soaked rice and add it to the simmering milk. Lower the heat to the lowest setting that still gives you a few lazy bubbles. Cook uncovered, stirring every few minutes and scraping the bottom of the pot, for about 40 to 45 minutes. The rice grains will swell and become tender but still hold their shape. By the end, the milk should have reduced by roughly a third and coat the back of a spoon thickly.
This is the longest stretch. Keep the heat low and stay nearby. Stir more often toward the end when the pudding starts to thicken, so nothing catches on the bottom. Your whole kitchen will smell like warm cardamom milk.
Step 4: Ladle and Garnish the Kheer

Stir the 1/3 cup sugar into the pot and cook for 2 more minutes, just until it dissolves completely. Take the pot off the heat. Fish out the cardamom pods if you like, or leave them for someone to discover. Fold in 1 tbsp of the sliced nuts and the raisins. Ladle the kheer into bowls and scatter the remaining nuts on top, along with a few extra saffron strands if you have them.
Serve it warm right now, or let it cool and chill it for a few hours if you prefer a cold, thicker pudding. Either way, it’s the most comforting thing you’ll eat all week.
Tips for the Creamiest Kheer
- Soak in milk for extra richness: If you have the time, soak the rinsed rice in warm milk instead of water for an hour. It makes the pudding unbelievably creamy.
- A spoonful of khoya or condensed milk: Stir in 1 tablespoon of khoya (milk solids) or sweetened condensed milk right at the end. It adds a milky depth without extra cooking.
- Toasted nuts taste better: Dry-toast the sliced almonds and pistachios in a small pan for a minute before garnishing. The crunch stays longer and the flavor pops.
- Fix thick or thin kheer: If it thickens too much after cooling, stir in a splash of cold milk to loosen it. If it’s too thin, set it back over low heat and cook a few more minutes, stirring constantly.
Cooking times can vary with your pot. Here’s what to expect:
| Pot Type | Approximate Cook Time |
|---|---|
| Heavy-bottomed saucepan | 40 to 45 mins |
| Wide stainless steel pot | 45 to 50 mins |
| Nonstick pot | 35 to 40 mins |
Storing Leftover Kheer
- Refrigerate: Let the kheer cool completely, then transfer it to an airtight container. It keeps well for 3 days in the fridge.
- Reheating: Warm it gently on the stovetop over low heat with a splash of milk to loosen it. Stir constantly so it doesn’t scorch.
- Serve cold: Straight from the fridge, the kheer is thicker and almost set. Spoon it into bowls and top with fresh nuts.
Frequently Asked Questions
Can I make kheer with brown rice?
No, brown rice takes too long to soften and won’t release the starch that thickens kheer. Stick with white basmati or any short-grain white rice.
My kheer turned out grainy. What went wrong?
The milk likely boiled too hard at some point. Keep the heat at a low, steady simmer, and stir often to prevent the solids from separating.
Can I use non-dairy milk?
Yes, but the texture changes. Full-fat coconut milk in a can works best. Oat and almond milk are too thin, so you’d need to cook them down longer and the result won’t be as creamy.
Is saffron necessary?
Not at all. It adds a subtle floral taste and color, but kheer tastes wonderful with just cardamom. A few drops of rose water at the end are a nice substitute.

Kheer Recipe
Ingredients
Method
- Rinse the rice until the water runs clear, then soak it in fresh water for 20 minutes. Drain well.
- In a heavy-bottomed pot, combine milk, crushed cardamom, and saffron. Bring to a gentle simmer over medium heat, stirring occasionally, about 5 minutes.
- Add the drained rice, reduce heat to low, and cook uncovered for 40 to 45 minutes, stirring often, until the rice is tender and the milk has thickened.
- Stir in the sugar and cook 2 more minutes. Remove from heat, fold in half the nuts and the raisins, then ladle into bowls. Top with the remaining nuts and serve warm or chilled.
