
Every Eid in my childhood ended the same way: my grandmother ladling kheer into small steel bowls, the surface already filmed with that delicate skin of malai, a pinch of crushed pistachios on top. No fancy dessert has ever beaten that simple bowl for me. This kheer recipe is hers — creamy Pakistani rice pudding made the slow way, with no condensed milk shortcuts and no cornstarch cheats, just rice, milk, sugar and patience.
Here is the truth about kheer: there are only four ingredients, so there is nowhere to hide. Grainy kheer means the rice was wrong or the milk was rushed. Thin, soupy kheer means someone got impatient. But when you get it right — thick enough to coat the spoon, rice grains soft but distinct, perfumed with cardamom — it is one of the finest desserts on earth. I have made this kheer recipe at least thirty times, and I am going to walk you through every detail that matters.
The whole thing takes about an hour, but do not let that scare you. Most of it is gentle stirring while the milk does its slow magic. Put on some music, keep the heat low, and enjoy the process — good kheer cannot be hurried, and that is rather the point.
Why You’ll Love This Recipe
- Only 4 core ingredients — rice, milk, sugar, cardamom. Nothing processed, nothing complicated.
- Authentic slow-cooked flavour — no condensed milk or shortcuts; the creaminess comes from the milk reducing naturally.
- Make-ahead perfect — kheer must be served chilled anyway, so it is ideal for preparing a day before guests arrive.
- Feeds a crowd cheaply — one batch makes 8 generous servings from ingredients that cost almost nothing.
- Naturally gluten-free — a dessert everyone at the table can eat without worry.
Ingredients
- ½ cup (100g) basmati rice — or any short/medium grain rice; avoid parboiled
- 2 litres (about 8½ cups) whole full-cream milk — do not use skimmed or low-fat
- ¾ cup (150g) sugar, plus more to taste
- 6–8 green cardamom pods, lightly crushed (or ½ teaspoon ground cardamom)
- ¼ cup (35g) mixed nuts — pistachios and almonds, sliced or slivered
- 1 tablespoon kewra water or rose water (optional but traditional)
- A tiny pinch of salt — it sharpens the sweetness
- Silver varq (edible silver leaf) for garnish — optional, for festive occasions
Instructions
- Soak the rice. Rinse the rice under cold water until the water runs mostly clear, then soak it in fresh water for 30 minutes. Drain well. Soaking softens the grains so they break down faster in the milk and release their starch — that starch is what thickens the kheer naturally. While it soaks, lightly crush the cardamom pods with the flat of a knife so the seeds are exposed but the pods stay mostly intact (easier to fish out later).
- Start the milk. Pour the milk into the heaviest-bottomed pot you own — a thick base is non-negotiable because milk scorches easily. Bring it to a gentle boil over medium heat, stirring every minute or so. The moment it reaches a boil, lower the heat to the gentlest simmer. If your stove runs hot, use a heat diffuser or the smallest burner. Scorched milk will ruin the entire batch with a burnt taste, so this is the step where attentiveness pays off.
- Add the rice and settle in. Stir in the drained rice and the crushed cardamom pods. Keep the heat at a bare simmer — you want lazy bubbles, not a rolling boil. Now stir every 3–4 minutes, scraping the bottom and sides of the pot each time. For the first 20 minutes not much seems to happen, and beginners always worry. Trust the process. Around the 25-minute mark, you will notice the milk starting to thicken and the rice grains swelling and softening.
- Cook low and slow. Continue simmering and stirring for 35–45 minutes total, until the rice grains are completely soft and breaking apart when pressed, and the mixture coats the back of a spoon thickly. The kheer should be noticeably thicker than you want the final result, because it thickens considerably more as it cools. My grandmother’s test: drag your spoon across the bottom of the pot — if the trail holds for two seconds before filling in, it is done.
- Sweeten and perfume. Stir in the sugar and the pinch of salt, and simmer 5 more minutes until the sugar fully dissolves. Taste it — it should taste just slightly sweeter than you want, because chilling dulls sweetness. Now stir in the kewra or rose water if using, and half the sliced nuts. Remove from the heat and fish out the cardamom pods (count them in, count them out — nobody wants to bite into one).
- Cool and chill. Let the kheer cool at room temperature for 30 minutes, stirring occasionally so no thick skin forms on top — unless you like the malai layer, in which case leave it completely undisturbed and you will be rewarded. Transfer to a serving bowl or individual bowls, cover, and refrigerate for at least 4 hours, ideally overnight. Cold kheer is non-negotiable in my family; warm kheer is a different dessert entirely.
- Garnish and serve. Just before serving, scatter the remaining sliced pistachios and almonds over the top. If it is Eid or a wedding, add the silver varq for that festive shimmer. Serve chilled, in small bowls — kheer is rich, and a little goes a long way.
Pro Tips
- Full-cream milk only. This is the single most important ingredient choice. Low-fat milk will never give you that luscious body no matter how long you cook it — the fat is doing real work here.
- Heavy pot, low heat, constant vigilance. Thin pots create hot spots that scorch milk in seconds. If you have ever had kheer with a faint burnt aftertaste, this was the cause.
- Do not add sugar too early. Sugar added at the start slows down the softening of the rice grains and can make them stay firm in the centre. Always sweeten after the rice is fully cooked.
- The two-second trail test. Forget timers — drag a spoon across the pot bottom. If the trail holds for two seconds, it is done. Remember it thickens more as it cools, so pull it off the heat slightly earlier than your instinct says.
- Cardamom pods in, cardamom pods out. Count your pods when they go in and fish out every one before serving. Biting into a whole pod is a nasty surprise for a guest.
Kheer Recipe – FAQs
Why is my kheer thin and watery?
Either it was undercooked, or the heat was too high (which evaporates water without breaking down the rice starch properly). Keep it at a gentle simmer for the full time, and remember it thickens a lot as it cools — judge the final thickness cold, not hot.
Can I use condensed milk to speed it up?
You can, but it will not taste like traditional kheer — condensed milk gives a caramelised, one-note sweetness instead of the delicate milky flavour of slow reduction. If you are truly short on time, replace 1 cup of the milk with half a can of condensed milk and reduce the sugar, but the slow version is worth it.
How long does kheer keep in the fridge?
4–5 days in a covered container, and the flavour actually improves on day two. Do not freeze it — the rice grains turn mushy and the texture goes grainy when thawed.
My rice stayed hard in the middle. What went wrong?
Almost certainly the sugar went in too early, or the rice was not soaked. Sugar toughens rice grains during cooking. Always cook the rice fully soft in unsweetened milk first, then add sugar at the end.
That is my grandmother’s kheer recipe, exactly as she made it — no shortcuts, no apologies. Make it once for your family and watch what happens when that chilled bowl hits the table. Some recipes are just food; this one is a memory.