Kheer is Pakistan's classic rice pudding, basmati rice slow-cooked in full-cream milk until thick and creamy, sweetened and scented with cardamom, saffron and rose water, and finished with almonds, cashews, pistachios and golden raisins. It is the dessert of Eid, weddings and family dinners across Pakistan and North India, served warm or chilled in small bowls, often with a thin skin on top that everyone wants a spoonful of. The recipe needs only a handful of ingredients and one heavy-bottomed pan, but it rewards patience: low heat, frequent stirring and time turn plain milk and rice into something silky and fragrant.
Green cardamom powder ½ tsp (or 5–6 green cardamom pods, crushed)
Saffron strands a generous pinch (14–16 strands)
soaked in 1 tbsp warm milk
Almonds 1 tbsp (sliced)
Cashews 1 tbsp (chopped)
Pistachios 1 tbsp (sliced)
Golden raisins 1 tbsp
Rose water 1 tbsp (optional)
Nutrition (approx. per serving)
212 calories · Protein 7 g · Fat 7.7 g · Saturated fat 3.5 g · Carbs 29.7 g · Sugar 22.4 g · Fiber 0.5 g · Sodium 76 mg
Method
Rinse ¼ cup basmati rice a couple of times until the water runs clear, then soak it in enough water for 15 to 20 minutes. Drain and keep aside.
Pour 1 litre full-cream milk into a heavy-bottomed pan and set it on low to medium-low heat. Stir at intervals so the milk does not catch at the bottom, and let it come to a boil.
Take 1 tbsp of the warm milk into a small bowl, add a pinch of saffron strands and keep aside to soak. The saffron will colour and flavour the milk.
When the milk begins to boil, drain the rice and add it to the pan. Mix well, lower the heat and simmer uncovered, stirring often, until the rice is half cooked.
Add 6 tbsp sugar and mix until it dissolves. Continue to simmer on low heat, stirring at intervals and scraping the milk solids from the sides of the pan back into the kheer, until the rice is almost cooked.
Add ½ tsp green cardamom powder, 1 tbsp each of sliced almonds, chopped cashews and sliced pistachios, and the saffron milk. Mix well and keep simmering on low heat until the rice is completely soft and the kheer has thickened.
Switch off the heat when the rice grains are completely soft and the kheer coats the back of a spoon. Stir in 1 tbsp golden raisins and 1 tbsp rose water if using. Remember the kheer thickens more as it cools.
Pour into individual bowls and serve warm, or cool completely and chill for at least 2 hours. Garnish with extra sliced pistachios and almonds before serving.
Chef's tip
Keep the heat low and stir often, scraping the sides of the pan. The milk solids that collect on the sides are the richest part — scrape them back in and the kheer turns silky instead of thin.
Serving
Serve warm or chilled in small individual bowls, garnished with extra sliced pistachios and almonds and a few saffron strands. Kheer is the classic dessert after a festive meal, and it is often served with hot pooris. A small bowl is enough — it is rich.
Storage and reheating
Refrigerate leftover kheer in a closed container and eat within 1 to 2 days. Serve chilled, or reheat gently until warm. If the kheer has become very thick, stir in a splash of milk before reheating. Do not freeze kheer — the milk splits and the texture turns grainy.
Ingredient notes
Use full-cream milk. Low-fat or toned milk makes a thin, watery kheer that never turns creamy, however long you cook it.
Use basmati rice for the best aroma. Any fragrant long-grain rice works, but ordinary short-grain rice turns gluey and dulls the flavour.
Keep the rice to milk ratio at 1:16 — ¼ cup rice to 1 litre milk. More rice makes the kheer thick and stodgy; less rice leaves it thin and milky.
Kheer thickens a lot as it cools, so switch off the heat while it is still slightly thinner than you want. If it sets too thick, stir in a splash of warm milk.
Variations
Seviyan kheer: replace the rice with ¾ cup roasted vermicelli (seviyan), simmer for 10 minutes until soft, then add the sugar, cardamom and nuts the same way.
Jaggery kheer: replace the sugar with grated jaggery, but add it only after the kheer has cooked and cooled slightly for 4 to 5 minutes, or the milk can curdle.
Khoya kheer: stir in ½ cup crumbled khoya with the sugar for a richer, rabri-like kheer, and reduce the sugar by 1 tbsp.
Common mistakes
Cooking on high heat or in a thin pan. The milk scorches at the bottom and the burnt taste spreads through the whole pot.
Using low-fat milk. The kheer stays thin and watery and never develops the creamy, rich body of a proper kheer.
Adding too much rice. More than ¼ cup rice per litre of milk makes the kheer thick, stodgy and heavy instead of silky.
Leaving the kheer unstirred. The milk catches and burns at the bottom, and the rice clumps into lumps that will not break up.
Frequently asked questions
Can I make Kheer ahead of time?
Yes. Kheer tastes even better the next day after chilling. Make it a day ahead, refrigerate in a closed container and eat within 1 to 2 days. If it has set very thick, stir in a splash of milk before serving.
Why is my Kheer thin and watery?
Thin kheer usually means low-fat milk, too little cooking time, or too little rice. Use full-cream milk, keep the ¼ cup rice to 1 litre milk ratio, and simmer on low heat until the rice is completely soft and the mixture coats the back of a spoon.
Can I use jaggery instead of sugar?
Yes, but add the jaggery only after the kheer has cooked and cooled slightly for 4 to 5 minutes. Adding jaggery to boiling milk can make the milk curdle.
Should Kheer be served hot or cold?
Both. Serve it warm straight from the pan, or cool it completely and chill for at least 2 hours. Chilled kheer is thicker, and it is the way kheer is most often served at Eid and weddings in Pakistan.