Sooji halwa is an Indian semolina pudding scented with cardamom and saffron. It's a simple and versatile dish that can double up as breakfast or dessert. My vegan, dairy-free sooji halwa recipe makes no compromises on flavor, thanks to a couple of secret ingredients!

Table of Contents
What is sooji halwa
Sooji halwa (north India), sheera/sheero (western India), mohan bhog (eastern India) and rava kesari (south India) are all variations of a simple but very tasty Indian pudding made with ghee, semolina (rava/sooji), milk and cardamom. Proof of its deliciousness lies in the fact that even in a country as culinarily diverse as India is, a billion-plus people are united in their love for this sweet dish.
This is a versatile food. In my childhood home we often ate sheera for breakfast, but it can be served as a dessert too. At poojas (religious rituals), the sheera morphed into prasad (an offering to the gods), its appeal amped up with more ghee, dry fruits, and bananas.
If you are familiar with rava upma, a savory south Indian breakfast dish made with semolina, think of sooji halwa as the sweet version of upma. The method of preparing both is very similar, but one ends up savory and the other as a sweet. Both are so, so good.
Veganizing sooji halwa
Two key ingredients in sooji halwa are ghee and milk. Most sooji halwa recipes, in fact, require a cup each of ghee, milk and semolina. A sooji halwa that rich would naturally taste great. The challenge before me, then, was not just to reduce the amount of fat in the recipe because come on, a cup of ghee? I cut down the fat to ¼ cup of oil with no compromise on texture. But I also needed to make sure that the vegan sooji halwa tasted fantastic without ghee, which adds lot of flavor.
To get that richness I used two ingredients: almond flour and pure vanilla extract. Neither of these are traditional ingredients in sooji halwa but I've used vanilla extract before to add richness to my dairy-free Indian desserts, like vegan kheer. The almond flour melds effortlessly into the sooji, adding a rich nuttiness without being obvious.
Ingredients for vegan sooji halwa
- Avocado oil or any neutral oil. You can also use nut oils like walnut oil or almond oil. If using coconut oil, use refined coconut oil (look under oat milk for more information on why).
- Sooji farina or semolina. Sooji is wheat that's more finely ground than bulgur but more granular than atta or whole wheat flour. It is sold in Indian stores as rava or sooji (affiliate link in recipe card).
- Almond flour. This is not traditionally used but it is one of my secrets to making my vegan sooji halwa richer in the absence of ghee. Almond flour adds a lovely nuttiness and also some moisture into the recipe.
- Oat milk. I like oat milk in this recipe because it is creamier than most other non-dairy milks. You can use cashew milk. Coconut milk that tastes like coconut is an okay substitute but not preferred. Some Indian sweets have coconut in them but a sooji doesn't, and I am not a fan of overwhelming any dish with flavors it isn't meant to have.
- Pure vanilla extract. This is the second non-traditional ingredient I use here, to add richness and to round out the flavors in the absence of ghee.
- Saffron (optional). Saffron adds more flavor and a nice color to the sooji halwa. It is especially used in the south Indian version of this dish, called rava kesari (the word "kesari" is derived from the Sanskrit word for orange). Indian cooks sometimes use color to achieve the orange color, but saffron is a healthier substitute, albeit more expensive.
- Granulated sugar. I used turbinado sugar, but white granulated sugar or cane sugar are fine substitutes. The darker the sugar, the darker the sooji halwa will be.
- Ground green cardamom. Cardamom is found in so many Indian desserts, and it adds an alluring aroma to this vegan sooji halwa.
- Nuts and golden raisins (for garnish). Use cashew nuts, sliced almonds, pistachios or walnuts.
How to make sooji halwa
Making a halwa is simple and quick, but there can be a learning curve because you have to toast the sooji just right, and be both quick and cautious as you mix the milk into the toasted sooji. Be patient for best results and remember, practice makes perfect!

Place ¼ cup oil in a wide skillet or pan. Heat over medium-low heat, then add 1 cup sooji or rava and mix it well with the oil. Toast the sooji about five minutes, stirring it constantly.

At first it won't look like anything is happening but slowly the sooji will begin to acquire a light brown color. Continue to toast the sooji until it is an even light brown color. Don't walk away and don't be tempted to turn up the heat: this part is a bit labor intensive but you need to keep a close eye on the sooji, which can burn quickly.

As the sooji toasts, heat 2 ½ cups oat milk in a saucepan along with ¼ teaspoon saffron. Once the milk comes to a scalding point, turn off the heat and add 2 teaspoons of pure vanilla extract.

To the toasted sooji add ¼ cup almond flour and immediately turn off heat before mixing the almond flour in. You don't need to toast the almond flour any more: it will toast from the heat in the sooji as you mix it in.

Turn the heat on to low. Slowly, mixing constantly with the ladle, add the hot milk to the sooji. This step is an important one: you want to make sure you are dribbling the milk in very slowly and mixing constantly so lumps don't form. If you've made a roux, you know how to do this.

Once the milk has been mixed into the sooji, add 1 ¼ cups sugar and 1 teaspoon ground cardamom. Mix them in. The sooji will get a little loose as the sugar melts.

At this point cover the pan with a lid and let the sooji halwa steam for a couple of minutes as the sugar melts. Turn off heat and give it one final mix.

In a small skillet heat a teaspoon of oil over medium low heat. Add 2 tablespoons of cashews and 2 tablespoons of golden raisins. Fry until the cashews are golden and the raisins are puffy. Pour them over the halwa.

Serve
Where I grew up, in Maharashtra, sheera is eaten by itself. But in the north of India sooji is often scooped up with a bread, called a poori. It's quite delicious that way. Or serve this delicious Indian sweet for dessert after a full Indian meal.
Variations
You can add fruit purees to the sooji halwa to give it some added yum and healthfulness. Bananas are often added (add one very ripe, mashed banana to the halwa along with the sugar), and I have a vegan mango halwa recipe on the blog that's quite scrumptious.
To make the vegan sooji halwa nut-free, skip the almond flour and reduce the amount of milk to 2 cups. You can also skip the nuts in the garnish. Use pumpkin seeds instead.
Top tips
- As the sooji roasts, its grains become nuttier and they also lose moisture and fluff up. That's why it's critical to roast the sooji evenly: the fluffy sooji is thirsty and when you add the milk, cardamom, vanilla and saffron to it, it drinks them up and every grain is infused with flavor.
- Both the sooji and the milk should be hot when you mix them together for the best texture.
- As the sooji soaks in the milk, the overall texture of the sooji halwa will become dryer. Don't leave the sooji halwa over heat for longer than instructed or it will dry out fast. The ideal texture of the sooji halwa should be moist enough to form a ball, but still crumbly with each grain of the semolina visible.
Store
- Refrigerate: The vegan sooji halwa can be refrigerated for up to a week.
- Freeze: Freeze the halwa for up to three months. Thaw completely before serving.
More Indian vegan sweets
Love this recipe? Please leave a comment and star rating below. For more delicious plant-based recipes subscribe to my newsletter or follow me on Pinterest, Instagram or Facebook!

Recipe card

Vegan Sooji Halwa (Sheera or Rava Kesari)
Ingredients
- 1 cup sooji (semolina, rava, sooji farina or cream of wheat)
- ¼ cup avocado oil or any neutral oil
- 2½ cups oat milk
- ¼ teaspoon saffron (optional)
- 2 teaspoon pure vanilla extract
- 1¼ cup sugar
- 1 teaspoon ground cardamom
For nuts and raisins garnish
- 1 teaspoon avocado oil or any neutral oil
- 2 tablespoons raw cashews (halved or chopped)
- 2 tablespoons golden raisins
Instructions
- Place oil in a wide skillet or pan. Heat over medium-low heat, then add 1 cup sooji or rava and mix it well with the oil. Toast the sooji about five minutes, stirring it constantly. At first it won't look like anything is happening but slowly the sooji will begin to acquire a light brown color. Continue to toast the sooji until it is an even light brown color.
- As the sooji toasts, heat 2 ½ cups oat milk in a saucepan along with ¼ teaspoon saffron. Once the milk comes to a scalding point, turn off the heat and add 2 teaspoons of pure vanilla extract.
- To the toasted sooji add ¼ cup almond flour. Immediately turn off heat. Mix the almond flour with the sooji. You don't need to toast the almond flour any more: it will toast from the heat in the sooji as you mix it in.
- Turn the heat back on to low. Slowly, mixing constantly with the ladle, add the hot milk to the sooji. This step is an important one: you want to make sure you are dribbling the milk in very slowly and mixing constantly so lumps don't form.
- Add 1 ¼ cups sugar and 1 teaspoon ground cardamom. Mix them in. The sooji will get a little loose as the sugar melts. At this point cover the pan with a lid and let the sooji halwa steam for a couple of minutes as the sugar melts. Turn off heat and give the sooji one final mix. Turn off heat.
Make the nuts and raisins garnish
- In a small skillet heat a teaspoon of oil over medium low heat. Add 2 tablespoons of cashews and 2 tablespoons of golden raisins. Fry until the cashews are golden and the raisins are puffy. Pour them over the halwa.
- Serve the sooji halwa warm or at room temperature.
Nutrition Information
To print recipe card without images, uncheck "instruction images" after clicking the "print recipe" button.










David says
I just prepared a half recipe of this following the guidelines exactly as detailed, with the following ingredient exception- almond extract instead of vanilla (I’m out 😡!). It is absolutely gorgeous. Thanks for sharing this super easy and delicious recipe.
Vaishali says
Hi David, so awesome you loved the halwa! Good to know the almond extract worked - I can imagine it would with the other nutty flavors. Thanks for letting me know. 🙏