This vegan kheer, a creamy rice pudding, was the first Indian dessert I veganized and shared with you all the way back in 2008. It's creamy, with tender, fluffy grains of rice and the aroma of saffron and cardamom, and it's the Indian sweet I make most often because it's easy, foolproof, and you need just a few pantry ingredients.

Table of Contents
What is kheer?
Kheer is a sweet dessert pudding made by reducing milk with sugar until it's thick and creamy. This is one of the most common sweet dishes cooked across India and other south Asian countries where it goes by names like payasam, payesh, khir, kheerni and phirni.
There are many types of kheer besides rice kheer, the kind I am sharing with you today, including:
- Rabri or basundi, a kheer made by reducing milk and sugar until it's really thick, creamy and quite delicious.
- Phirni, a north Indian kheer made with broken rice and set in earthen ramekins.
- Sakkarai pongal, or sweet Pongal, a south Indian kheer made by boiling milk with rice and lentils.
- Vermicelli kheer or semiya payasam, a pudding with vermicelli noodles that's popular among the region's Muslim communities.
- Sabudana kheer, made with tapioca pearls, that's very popular in Maharashtra, where I grew up.
- Makhana kheer, made with fox nuts or lotus seeds, from the north Indian state of Bihar.
Most happy occasions in India, including religious festivities, weddings and birthdays, are celebrated with kheer, especially rice kheer or rice payasam. So creating an outstanding vegan kheer - one that would rival any traditional recipe - was super important for me after I began to eat a vegan diet. This recipe for dairy-free kheer is not only delicious, but I can claim without hesitation that it tastes even better than the countless versions of traditional rice kheers I've eaten in the past. It's smooth and creamy with the aroma of cardamom and saffron woven through. A hunt of vanilla adds richness and more flavor.
When I first shared this recipe with you I used almond milk instead of milk. But with so many more dairy free milk options now available I've switched to the creamier oat milk for this updated version. This also keeps this recipe nut-free for those of you who don't or can't eat nuts (you can also skip the nuts in the garnish). If you are sugar-free you can make the kheer with stevia or erythritol instead of sugar.
I hope you will enjoy eating this kheer as much as I've enjoyed making it for you, and that it will add many happy times to your life. A very happy Diwali to all my readers. If you plan on making your Diwali free of animal suffering this year, you might also want to check out these recipes for vegan gulab jamun, vegan barfi and vegan kaju katli.
Recipe card

Vegan Kheer (Indian Rice Pudding)
Ingredients
- ½ cup raw basmati rice
- 6 cups oat milk (can substitute one cup of the oat milk with vegan condensed milk or vegan heavy whipping cream or single oat cream for a richer consistency).
- ½ cup sugar (can use date syrup, maple syrup, agave nectar, stevia or erythritol).
- ½ teaspoon ground cardamom
- 2 tablespoons sliced almonds (optional. Can use pumpkin seeds instead).
- 2 tablespoons raisins
- ½ teaspoon vanilla extract
- A generous pinch saffron
Instructions
- Soak the rice: Place the rice in a bowl and pour in enough water to cover by two to three inches. Soak for an hour, then strain but don't wash the rice further-- you don't want to lose all the good starch in there that will help thicken the pudding.
- Heat the milk and rice. Place the milk in a large saucepan or Dutch oven. Add the drained, soaked rice and cook over low to medium-low heat for about 15-20 minutes or until the rice grains are really soft. Stir frequently, at least every couple of minutes. Don't cover the pot.
- Add the sugar and stir it in. Continue cooking and stirring for another 15 minutes. The milk should have thickened quite a bit by this time due to reduction and as the starch from the rice is released into it.
- Stir in the cardamom, raisins and nuts. Continue to cook and stir until the milk has thickened further and the rice grains have swollen quite a bit and are visible on the top.
- Add saffron. Stir in the saffron, if using. Let the kheer cook another five minutes.
- Stir in the pure vanilla extract. Immediately turn off the heat, stir, cover and let the kheer stand until it's at room temperature. The saffron will continue to release its color into the kheer.
- Serve chilled or at room temperature. Kheer is usually served at room temperature, although I love it chilled.
Notes
Ingredient notes
- Oat milk. If you can't use oat milk, any thick, creamy non dairy milk will do. Cashew milk and soy milk are good choices.
- Basmati rice. This is hands down the best rice for kheer, both because it's aromatic and also because it's starchy but not too starchy, which gives you better control over how thick or thin you want the pudding to be. You can use a medium grain rice but in that case monitor the milk closely as it reduces to ensure you get the correct consistency.
- Ground cardamom. I often get this question so I'll clarify that you should always, always use the delicately flavored and aromatic small green cardamom pods for Indian desserts, never brown or black cardamom. The larger brown cardamom has a pungent, sharp aroma that works better in savory Indian dishes.
- Nuts. I usually add sliced almonds or cashews to kheer, but walnuts and pistachios are also wonderful additions. You can skip the nuts if you are nut-free, and use pumpkin or watermelon seeds.
- Saffron. You can consider this an optional ingredient, but if you have it, use it here. It adds a lovely, warm aroma to the kheer and builds upon the many layers of flavor in this vegan kheer.
- Pure vanilla extract. If you've made my kheer or my other Indian dessert recipes before, you know I always ask you to add a little bit of pure vanilla extract to them. The vanilla helps round out the flavor of the non dairy milk nicely, bringing it closer to the sweet notes in cow milk, and adding to the authentic flavor.
Nutrition Information
To print recipe card without images, uncheck "instruction images" after clicking the "print recipe" button.

Vegan kheer FAQs and troubleshooting tips
Kheer has a smooth, sweet, well-rounded flavor with layers of flavor from typically Indian dessert ingredients, like cardamom and saffron, which add both warmth and aroma.
Kheer in India is a collective term for milk-based puddings. A rice kheer, specifically, is similar to a western style rice pudding, but it is usually runnier. While a typical rice pudding would be flavored with cinnamon, an Indian kheer is flavored with cardamom and, sometimes, saffron.
I love to make kheer with basmati rice, because the delectable aroma of the basmati rice adds to the deliciousness. While basmati has starch, like all varieties of rice, it is also not too starchy, which is perfect for kheer. The starch is enough to thicken the pudding without making it too thick the next day because you want the kheer to be slightly runny.
Absolutely. Both maple syrup and date syrup would be delicious here, but the kheer will have a darker color.
Coconut milk marries well with Indian sweets, so you can make this recipe with coconut milk. Don't use full-fat coconut milk, which will separate. Use the kind you can buy in a carton.
Maintain the heat at low to medium-low, depending on the heating power of the burner you are using, and make sure you stir the milk frequently. Don't blast it with high heat, which can cause the milk to separate. Homemade non-dairy milks separate more easily when heated. I use store bought oat milk and sometimes soy milk for the kheer and it works perfectly.
Be sure to soak the rice for an hour before you begin making the kheer (discard the water before you add the rice to the pot). The rice will take about 15 minutes to cook in the milk over medium low heat and it will continue to soften and break down and release its starches as you continue to reduce the milk. This will lead to a creamy kheer. If the rice remained uncooked, it was probably either because you didn't soak it first, or you didn't give the rice enough time to cook with the milk. In that case continue to cook the kheer over low heat until the rice is cooked, but it will take longer.
Refrigerate the vegan kheer for up to five days or freeze it in a freezer safe container for up to three months. To reheat, thaw frozen kheer overnight in refrigerator. If the kheer has thickened quite a bit add a little more milk and sugar if needed and warm through.
My top tips for the best vegan kheer
- Choose a creamy non-dairy milk for best results. Oat milk, soy milk and cashew milk are all good choices. Almond milk is thinner and will separate more easily so avoid using it if you can.
- Add vegan condensed milk or vegan whipping cream for a richer consistency. Replace one cup of the milk with vegan condensed milk or 1 cup of vegan whipping cream to add more richness and depth to the kheer. If you use condensed milk, which is already sweetened, you will need to reduce the amount of sugar in the recipe. Add ¼ cup less sugar, taste, and add more only if needed.
- Stir frequently. It will take about 45 minutes for the rice to cook fully and the milk to reduce to the right consistency. You can multitask in the kitchen during this time but be sure to stir the kheer every few minutes to make sure everything is cooking evenly. Often a skin will form on top of the milk. Just stir it back in.
- Turn the heat off just before the kheer reaches the desired consistency. Kheer will continue to thicken for a bit as it cools, so turn off the heat just a little bit before it reaches the thickness you desire.
- Tweak the consistency. If the kheer is too runny for your liking, simply continue to reduce it for longer until it reaches the right consistency. If the kheer ends up being too thick, or has thickened a lot upon standing, just add a little milk to it to thin it out and warm through. Check and add more sugar if needed.

















Anu says
This is very easy and came out so good. Thank you for a stellar recipe 😄
Mirjam says
Is half a cup of rice really enough for 8 people?
Vaishali says
Yes, the rice, in pudding, is a thickener. It is not meant to be eaten as you would eat rice at a meal.
Dennae says
This recipe was the best! I used extra creamy oat milk and it was perfect. Will be making again!