Healthy Halwa Indian Semolina Dessert Recipe with Coconut Sugar and Cardamom

Some recipes carry a kind of warmth that goes beyond the food itself. Halwa is one of those. This halwa Indian semolina dessert recipe takes everything comforting about the traditional sooji halwa and gently reworks it for the health-conscious kitchen, cutting refined sugar, reducing saturated fat and adding a little extra fibre without sacrificing any of the golden, fragrant magic that makes this dessert so special. It suits anyone who loves Indian sweets but wants a version they can feel good about serving to the family on a Tuesday evening, not just at festivals or special occasions.
The star ingredient here is wholegrain semolina, sometimes labelled coarse sooji or rava. Compared to fine semolina, it adds a slightly more satisfying chew and a modest fibre boost. Coconut sugar replaces the usual white refined sugar, bringing a gentle caramel depth that actually complements the cardamom beautifully. The quantity is significantly lower than traditional recipes call for, because the coconut sugar's natural richness means you need far less to feel the sweetness. A small amount of good-quality ghee is still used, because it gives the halwa its characteristic nutty aroma and helps toast the semolina evenly, but the quantity is roughly halved compared to classic versions. Unsweetened almond milk replaces full-fat dairy milk, keeping the pudding creamy while lowering the overall calorie count. A pinch of saffron, a generous amount of cardamom and a whisper of cinnamon round out the flavour in a way that feels both familiar and a little elevated.
Once cooked, this halwa sets into a soft, spoonable pudding with just enough body to hold its shape briefly on a spoon before melting on the tongue. The texture is smooth with a very slight graininess from the semolina, which is exactly how a good halwa should feel. It is gorgeous served warm, straight from the pan, topped with a small handful of lightly toasted flaked almonds and a few golden raisins for natural sweetness. A light dusting of ground pistachio on top adds colour and a subtle savoury note that offsets the sweetness. You could also let it cool, press it into a small dish and slice it, which is a lovely way to serve it at a dinner party. Thin slices hold their shape well and look beautiful on a plate with a drizzle of rose water.
From a nutrition standpoint, this recipe delivers a meaningful upgrade over the traditional version. Each serving comes in at roughly 210 calories, compared to the 350 to 400 calories you would typically find in a traditional sooji halwa made with half a cup of ghee and a full cup of white sugar. The glycaemic load is lower thanks to the coconut sugar and the wholegrain semolina, which digests more slowly than its refined counterpart. The almond milk contributes a small amount of vitamin E, and the cardamom brings genuine digestive benefits that have been valued in Ayurvedic cooking for centuries. The recipe is egg-free and easily made dairy-free by swapping the ghee for a plant-based alternative. It is naturally vegetarian and contains no artificial colours, flavours or preservatives. For anyone exploring lighter takes on Indian sweets, or simply trying to bring more balance to their dessert repertoire, this is a genuinely satisfying place to start.
Ingredients
- 1 cup wholegrain coarse semolina (also called coarse sooji or rava)
- 2 tbsp ghee (use plant-based butter for dairy-free)
- 3 tbsp coconut sugar (adjust to taste)
- 1.5 cups water (boiling hot)
- 1 cup unsweetened almond milk (warm, not cold)
- 1 tsp ground cardamom
- 0.3 tsp ground cinnamon
- 1 small pinch saffron strands (soaked in 1 tbsp warm water for 5 minutes)
- 2 tbsp golden raisins (for natural sweetness and texture)
- 2 tbsp flaked almonds (lightly toasted, for garnish)
- 1 tbsp unsalted pistachios (finely chopped, for garnish)
- 0.5 tsp rose water (optional, for a floral finish)
Instructions
- 1
Soak the saffron strands in one tablespoon of warm water and set aside for at least five minutes. This helps the colour and flavour bloom fully before you add it to the pan.
Do not skip this step. Adding saffron dry to the pan can make it bitter rather than fragrant.
- 2
Place a heavy-bottomed or non-stick pan over medium-low heat. Add the wholegrain semolina and dry-roast it, stirring continuously, for about eight to ten minutes until it turns a light golden colour and smells nutty and toasty.
Keep the heat at medium-low throughout. Rushing this on high heat risks burning the outside while the inside stays raw.
- 3
Once the semolina is golden, tip it into a bowl and set it aside. Return the pan to the heat and add the ghee. Once the ghee melts and shimmers, add the golden raisins and stir for about thirty seconds until they puff up slightly.
- 4
Carefully pour in the hot water and the warm almond milk together. The mixture will spit and bubble quite vigorously, so stand back slightly and keep stirring. Add the coconut sugar, cardamom, cinnamon and the saffron liquid. Stir everything together and bring to a gentle simmer.
Using hot liquids rather than cold prevents the semolina from clumping when you add it back in.
- 5
Reduce the heat to low and slowly pour the toasted semolina back into the pan in a steady stream while stirring constantly. This is the most important step for a smooth, lump-free halwa.
Add the semolina gradually, not all at once. Rushing this stage almost always leads to lumps.
- 6
Continue stirring over low heat for about five to six minutes until the halwa thickens, pulls away from the sides of the pan and comes together into a soft, unified mass. Taste and add a touch more coconut sugar if you prefer it sweeter.
- 7
Remove the pan from the heat and stir in the rose water if using. Spoon the halwa into small bowls, smooth the tops lightly and scatter the toasted flaked almonds and chopped pistachios over each portion. Serve warm.
For a dinner-party presentation, press the warm halwa into a lightly greased small ramekin, let it sit for two minutes, then invert it onto a plate.
Nutrition per serving
210kcal
Calories
4g
Protein
33g
Carbs
7g
Fat
2.5g
Fibre
9g
Sugar
55mg
Sodium
Pro Tips
- ✓
Wholegrain coarse semolina gives a better fibre content than fine semolina. Look for it in Indian grocery stores or wholefood shops.
- ✓
Toast the semolina long enough. Under-toasted semolina makes the halwa taste raw and starchy.
- ✓
Coconut sugar has a lower glycaemic index than white sugar, but it is still sugar. The reduced quantity in this recipe keeps things balanced.
- ✓
Always add warm or hot liquid to the roasted semolina mixture rather than cold liquid. Cold liquid causes lumping and uneven cooking.
- ✓
The halwa thickens further as it cools, so remove it from the heat when it looks slightly softer than your desired consistency.
- ✓
A little goes a long way here. Because the flavour is concentrated and rich, smaller portions are genuinely satisfying.
Frequently Asked Questions
Variations
- •
Orange Blossom Halwa
Replace the rose water with half a teaspoon of orange blossom water and add the finely grated zest of one small orange. This gives a bright citrus lift that works particularly well in warmer months.
- •
Pumpkin Spice Halwa
Add two tablespoons of pureed roasted pumpkin or butternut squash along with the liquid. Swap the cinnamon for a quarter teaspoon of mixed spice. The result is an autumnal, faintly sweet halwa with a beautiful golden colour.
- •
Chocolate Cardamom Halwa
Stir in one tablespoon of raw cacao powder along with the spices for a subtle chocolatey depth. The bitterness of the cacao balances the coconut sugar really nicely and makes this version feel quite grown-up.
Substitutions
- •Ghee → Refined coconut oil or plant-based butter (Use the same quantity. Coconut oil gives a slightly different flavour but keeps the halwa dairy-free and vegan.)
- •Coconut sugar → Date sugar or jaggery (Both are less refined than white sugar. Jaggery gives a more traditional flavour. Use the same quantity.)
- •Unsweetened almond milk → Oat milk, semi-skimmed dairy milk or light coconut milk (Each will give a slightly different flavour and calorie count. Light coconut milk adds a pleasant tropical note.)
- •Wholegrain semolina → Fine semolina or regular coarse semolina (Fine semolina gives a softer, smoother texture. The healthy benefits are slightly lower than wholegrain but it still works well in this recipe.)
- •Flaked almonds → Sunflower seeds or pumpkin seeds (For a nut-free version, toasted seeds provide a similar crunch and look great on top.)
🧊 Storage
Store leftover halwa in an airtight container in the fridge for up to 3 days. Reheat in a small saucepan over low heat with a splash of water or almond milk, stirring gently to restore the original creamy texture. Do not microwave without adding liquid first, as it dries out quickly.
📅 Make Ahead
The semolina can be dry-roasted up to 2 days in advance and stored in an airtight container at room temperature. This saves the most time-consuming step when you are ready to cook. The finished halwa can also be made the day before and reheated gently on the stove.
You might also like

Healthy Oat and Almond Ladoo Recipe: Homemade Indian Sweet with No Refined Sugar

Mango Barfi Recipe with Fresh Mango Puree and Coconut Sugar
