- Prep
- 10 min
- Cook
- 50 min
- Total
- 60 min
- Serves
- 6
Ingredients
What you’ll need — tap to tick off as you go
- 100 g
- 1 ½ l
- 100 g
- 1 pinch
- 1 tbsp
- 20 g
- 15 g
- 20 g
Process
Timers built in · swap anything · ask as you cook
Rinse the basmati rice under cold water until the water runs clear, then soak it in fresh water for 20 minutes and drain well.
In a heavy-bottomed pot, bring 1.2 litres of whole milk to a boil over medium heat, stirring often so it does not scorch.
Add the drained rice and the crushed green cardamom pods to the boiling milk, then reduce the heat to low.
Simmer uncovered for 35 to 40 minutes, stirring every 3 to 4 minutes and scraping the bottom, until the rice is completely soft and the milk has thickened to a porridge-like consistency.
Stir in the sugar and cook for 5 more minutes until fully dissolved; the kheer will loosen slightly as the sugar melts.
Pour in the saffron steeped in warm milk and the remaining 300 ml of whole milk, then simmer for 3 minutes to reach a pourable but creamy texture.
While the kheer simmers, heat the ghee in a small pan over medium heat and toast the almonds, pistachios and raisins for 1 to 2 minutes until the nuts are golden and the raisins plump; set aside.
Remove the cardamom pods, stir half of the toasted nuts and raisins into the kheer, and serve warm or chilled, topped with the remaining nuts and raisins.

Kitchen notes
Kitchen notes
- The most common mistake is boiling the kheer hard after adding the rice; keep it at a bare simmer and stir every few minutes, or the milk will catch on the bottom and taste scorched.
- The kheer is done when a spoon dragged through the pot leaves a clear trail that fills in slowly, and the rice grains have no chalky centre when pressed.
- It thickens considerably as it cools, so stop cooking it while it still looks a little looser than you want; you can always thin it with a splash of hot milk.
- Use a heavy-bottomed pot or a wide non-stick pan, which gives more surface area for evaporation and cuts the cooking time by about 10 minutes.
Substitutions
- basmati rice→any short-grain or broken rice, rinsed and soaked the same way
- whole milk→evaporated milk diluted with water for a richer result, or oat milk for a dairy-free version
- ghee→unsalted butter or neutral oil
- sugar→jaggery, grated and added at the end, or coconut sugar
- green cardamom pods→1/4 tsp ground cardamom added off the heat
Storage & reheating
Cool the kheer completely, then store it in an airtight container in the fridge for up to 4 days. It will thicken and set in the cold; reheat gently on the stovetop over low heat or in the microwave in 30-second bursts, adding 2 to 3 tbsp of hot whole milk per serving and stirring until creamy again. Do not freeze, as the rice turns grainy and the milk separates on thawing.
FAQ
The questions we get asked most
Why did my rice kheer turn out grainy or undercooked?
The rice was not soaked long enough or the heat was too high, so the grains cooked unevenly before the milk thickened. Soak the rice for a full 20 minutes and keep the pot at a bare simmer, stirring every few minutes. If it is still chalky after 40 minutes, add 100 ml hot milk and simmer 10 minutes more.
How do I stop the milk from burning or sticking to the bottom?
Use a heavy-bottomed pot and stir every 3 to 4 minutes, scraping the base with a flat spatula, not just the top. Once the milk has reduced and the rice is soft, lower the heat further and stir more often. If you smell scorching, transfer the kheer to a clean pot immediately without scraping the burnt layer.
Can I make rice kheer ahead of time for a party?
Yes, make it up to 2 days ahead and keep it covered in the fridge. It will firm up, so reheat it over low heat with a splash of hot whole milk until it is creamy again. Add the toasted nuts and raisins just before serving so they stay crisp.
Why is my kheer too thick after chilling, and how do I fix it?
Rice and milk starches set as the kheer cools, so a mixture that looked perfect hot will look like firm pudding cold. Reheat it gently with 2 to 3 tbsp hot whole milk per serving, stirring until it loosens. Next time, stop cooking while it is still slightly thinner than your target texture.
Can I use canned evaporated milk or a plant-based milk instead of whole milk?
Yes. For a richer kheer, replace half the whole milk with evaporated milk and reduce the sugar slightly. Oat or cashew milk works for a dairy-free version, but use the barista-style ones and expect a slightly thinner result, since they do not thicken the same way as dairy.
How do I know when the rice kheer is fully cooked?
Press a rice grain between your fingers; it should squash with no resistance and no chalky core. Drag a spoon through the pot and the trail should fill in slowly rather than instantly. The milk should coat the back of the spoon in a thin, even layer.
Can I add saffron or rose water, and when should they go in?
Steep the saffron in 2 tbsp warm milk for 10 minutes and stir it in during the last 5 minutes of cooking for the best colour and aroma. If using rose water, add 1 tsp off the heat, as boiling dulls its perfume. Both are optional and can be skipped without affecting the texture.
Ask KitchenMind about this recipe
Tell it what’s different tonight — it works within the actual recipe.


