Indian Dessert Rice Pudding (Kheer) Recipe

Updated November 3, 2026

Total time
1 hr 20 min
prep 25 min · cook 55 min
Serves
6
portions as written

Jump to recipe

Indian Dessert Rice Pudding (Kheer) Recipe

Indian dessert rice pudding, commonly called kheer, is a gently simmered pudding of rice, milk, sugar, and fragrant cardamom, often finished with nuts and raisins. This stovetop version is served warm or chilled and uses familiar ingredients; rice choice and additions vary across Indian regions and family traditions.

Ingredients

  • ¼ cup (50 g) basmati rice
  • 6 cups (1.42 L) whole milk
  • ⅓ cup (67 g) granulated sugar, or to taste
  • ¼ teaspoon fine salt
  • ½ teaspoon ground cardamom, or the seeds from 5 green cardamom pods, finely crushed
  • 1 small pinch saffron threads (about 10 threads), optional
  • 2 tablespoons (14 g) sliced almonds
  • 2 tablespoons (14 g) shelled pistachios, finely chopped
  • 2 tablespoons (20 g) raisins
  • 1 teaspoon rose water, optional

Instructions

  1. Rinse and soak the rice. Put the rice in a small bowl and cover it with cool water. Swish it around with your fingers, pour off the cloudy water, and repeat until the water is less cloudy. Cover the rice with fresh water and soak for 20 minutes. Drain well. The soak helps the grains soften more evenly, but it does not need to be exact to the minute.
  2. Bring the milk and rice to a gentle simmer. Pour the milk into a heavy-bottomed, 4-quart or larger saucepan and add the drained rice and salt. Set the pan over medium heat, stirring frequently and scraping along the bottom and corners. Once the milk is steaming and just begins to bubble around the edges, lower the heat. This initial warming generally takes 8 to 10 minutes; do not let the milk boil hard, which can cause it to foam over.
  3. Simmer until the rice is tender. Keep the mixture at a quiet, steady simmer for about 40 minutes, stirring every 2 to 3 minutes and more often as it thickens. Scrape the bottom each time so rice does not settle and scorch. The pudding is ready for the next step when the grains are very soft and the milk has reduced noticeably. Press a grain against the side of the pan with a spoon: it should mash easily, with no firm center. The mixture will still look somewhat loose; it thickens further as it cools.
  4. Sweeten and add the flavorings. Stir in the sugar, cardamom, and saffron, if using. Simmer gently for 5 minutes, stirring so the sugar dissolves and the flavorings disperse. Fold in the almonds, pistachios, and raisins, then turn off the heat. Stir in rose water if you like its floral aroma. Taste carefully and add a little more sugar if desired. The total cooking time is about 55 minutes, including warming the milk.
  5. Rest and serve. Let the pudding stand for 10 minutes before serving warm, or cool it for a chilled dessert. If it becomes thicker than you want while resting, stir in a splash of milk. For a chilled serving, transfer it to a shallow container and refrigerate once the steam has subsided; do not leave it at room temperature for more than 2 hours.

Tips

  • Use a roomy, heavy pan. Milk expands as it heats, so a saucepan with plenty of headroom helps prevent boil-overs. A heavy base also spreads heat more evenly and reduces the chance of a scorched layer. Keep the heat low once the milk simmers; a rapid boil is not a shortcut and makes the pan harder to manage.
  • Stir at the bottom, not just across the top. Rice and milk solids tend to collect where the pan is hottest. Use a long-handled spoon or spatula to scrape the base and corners regularly. If you see a brown patch forming, lower the heat immediately and move the pudding to a clean pan without scraping in any burnt milk.
  • Adjust the texture after cooling. Kheer naturally becomes thicker as it rests and chills. Keep it a little looser than your ideal serving consistency on the stove, then thin it with milk when serving if needed. If it is too loose after chilling, warm it gently for a few minutes, stirring often, or serve it as a softer pudding rather than trying to reduce it aggressively.
  • Make sensible ingredient swaps. Whole milk gives the richest result, but 2% milk works with a slightly lighter, less creamy texture. You can use cashews in place of almonds or pistachios, and omit the nuts for a nut-free version. Rose water and saffron are optional; cardamom alone gives the pudding its characteristic warm fragrance.

Serving Suggestions

Serve kheer in small bowls, since it is rich and satisfying even in a modest portion. A warm bowl makes a comforting finish to a meal, while chilled kheer is refreshing after a spicy or richly seasoned dinner. Add a few chopped pistachios, almonds, or saffron threads on top just before serving so the garnish stays distinct. A light dusting of cardamom is another simple finish.

For a dessert spread, offer it alongside fresh fruit or another small sweet, rather than a large, heavy dessert. If serving guests, portion the pudding into small cups and let everyone choose their own garnish. Keep the nuts separate for anyone avoiding them, and label the rose water if you have used it, since its floral flavor is distinctive.

Variations

Use a different rice. Basmati gives the pudding a delicate aroma and recognizable grains. Short- or medium-grain rice also works and tends to make a softer, more cohesive pudding. Start checking it for tenderness a little earlier, because different grains absorb liquid at different rates. Avoid assuming that every regional or household version uses the same rice; kheer recipes vary.

Make it with condensed milk. For a sweeter, richer variation, replace about 1 cup (240 ml) of the milk with ½ cup (150 g) sweetened condensed milk. Add it near the end, then taste before adding the full amount of sugar; you may need only a tablespoon or none at all. Condensed milk makes the pudding sweeter and thicker, so stir frequently and loosen it with milk if needed.

Try a vegan version. Replace the whole milk with 6 cups (1.42 L) of unsweetened oat milk or cashew milk. Choose an unsweetened product so you can control the sugar. The result will taste different from dairy kheer and may be less creamy, especially with a thin plant milk. Simmer gently and stir often, since plant-based milks can also catch on the bottom of the pan.

Change the garnish. Toasted cashews, chopped dates, or a small spoonful of golden raisins can replace or supplement the listed nuts and raisins. For a South Indian-inspired direction, use a little toasted coconut as a garnish. These additions change the flavor and texture, but the method remains the same; add delicate garnishes after cooking rather than simmering them for the full time.

Storage and Reheating

Cool the pudding promptly and refrigerate it within 2 hours of cooking. For faster cooling, divide it among shallow, covered containers rather than leaving a full saucepan on the counter. Keep it refrigerated at 40°F (4°C) or below and use it within 3 to 4 days. The rice will continue to absorb milk, so the pudding will usually be firmer on the second day.

For chilled leftovers, stir in a little cold milk to restore a spoonable texture. To serve it warm, reheat only the portion you plan to eat in a saucepan over low heat, stirring frequently and adding milk as needed. Reheat leftovers to 165°F (74°C), checking with a food thermometer, and avoid repeatedly warming and cooling the entire batch. You can freeze kheer in a sealed, freezer-safe container for up to 2 months, though thawed rice pudding may be grainier or separate slightly. Thaw it in the refrigerator and stir well while reheating.

Frequently Asked Questions

Can I make kheer without soaking the rice?

Yes. The soak makes the grains soften more evenly, but you can rinse and drain the rice, then add it directly to the milk. Expect the simmering time to vary; start checking for tenderness after about 40 minutes of gentle cooking and continue until the centers are completely soft. Keep stirring and add a little extra milk if the pan thickens before the rice is done.

Why is my rice pudding still runny?

Kheer thickens as it cools, so judge the final texture after a short rest rather than boiling it down until it looks very thick in the pan. If it is still too loose after cooling, return it to low heat and simmer for a few more minutes, stirring continuously. Make sure the rice is tender before reducing it further; firm grains need time to cook, not just less liquid.

How do I stop milk from sticking or burning?

Use a heavy-bottomed saucepan, warm the milk gradually, and keep the simmer gentle. Stir every few minutes, scraping the bottom and the area where the pan sides meet the base. If the milk begins to catch, lower the heat and transfer the unburnt pudding to another pan without scraping up the stuck layer. A scorched taste is difficult to remove once it spreads.

Can I serve Indian rice pudding warm?

Yes. Kheer is enjoyable warm or chilled, and you can serve it after a 10-minute rest once it is no longer piping hot. Warm pudding is looser and creamier; chilled pudding becomes firmer as the rice absorbs more milk. If serving both ways, keep the main batch refrigerated and warm individual portions as needed.

Can I make this recipe ahead?

Yes. Prepare it a day ahead, cool it promptly, and keep it covered in the refrigerator. Before serving, stir thoroughly and adjust the consistency with milk. For a warm dessert, reheat the amount needed over low heat to 165°F (74°C), stirring often. Add a fresh garnish just before serving so chopped nuts remain crisp.

Is kheer the same as payasam?

They are closely related types of Indian milk-based pudding, but names and recipes differ by region and household. Kheer is commonly used for rice pudding in many parts of India, while payasam is a familiar name in South India for a range of sweet puddings. Ingredients, rice or other grains, sweeteners, and flavorings vary, so there is no single version that represents every tradition.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).