Coarse semolina (sooji)
Coarsely milled wheat, sold as coarse sooji, rava or “semolina (coarse)” in Desi grocery stores. Avoid fine semolina flour for this recipe.
Also called Semolina Halwa · Suji ka Halwa · Rava Sheera · नारियल सूजी का हलवा · ناریل سوجی کا حلوہ
Coarse semolina toasted in butter with coconut until nutty and golden, then cooked in hot, cardamom-steeped milk. The science explains why the slow roast, the hot liquid and the 1-to-3 ratio make it soft and fluffy instead of lumpy.
Sooji halwa is semolina roasted in butter or ghee until golden, then cooked with milk, sugar and cardamom into a glossy pudding. This version adds coconut and uses the classic 1:1:1 ratio of sooji, fat and sugar with three times as much liquid.

Sooji halwa (suji ka halwa, or rava sheera in western India) is one of the most classic Desi sweets: coarse semolina roasted in fat, then cooked with hot milk or water and sugar until it thickens into a soft, glossy pudding. It’s made for festivals and prayers, and served with puri and sookhe kaale chole as Navratri prasad.
A well-known rule of thumb is one part each semolina, fat and sugar to three parts liquid. This version follows that ratio, roasts coconut with the semolina for extra nuttiness, and steeps green cardamom (elaichi) in the milk while the semolina toasts.

Here’s every ingredient, with its English, Hindi and Urdu names and what it does in the halwa.
Coarsely milled wheat, sold as coarse sooji, rava or “semolina (coarse)” in Desi grocery stores. Avoid fine semolina flour for this recipe.

Unsalted butter, or desi ghee (clarified butter), the traditional choice.

Whole milk, alone or mixed half-and-half with water.

Unsweetened desiccated coconut (finely grated and dried). Fresh grated coconut works too.

Green cardamom pods, lightly crushed, or ground cardamom.

Sliced almonds, cashews, pistachios or raisins, the traditional garnish.
Restaurant cooks do these things by habit. Here’s what each step is actually doing to the food, so you can cook by understanding instead of guesswork.
Roast the semolina in butter over medium heat, stirring constantly, until golden and nutty, 15–20 minutes.
Dry heat with fat drives the same browning reactions that toast bread: the Maillard reaction between the grain’s proteins and sugars builds nutty, roasted flavor. Roasting also breaks some of the starch’s long chains into shorter pieces called dextrins, which thicken less. America’s Test Kitchen measured this in roux, a flour-and-fat paste: the longer it cooked, the less it thickened. In halwa that’s an advantage: well-roasted semolina sets soft and loose, while under-roasted semolina turns gluey and tastes raw.
Make sure every grain is coated in butter before any liquid goes in.
When dry starch meets hot liquid, the outside of a clump gelatinizes instantly into a sticky skin that seals dry starch inside: that’s a lump. A coating of fat slows water’s entry and keeps the grains separate, so each one hydrates on its own. It’s the same reason a roux whisks smoothly into milk while plain flour clumps.
Stir from the bottom as the butter sizzles, and lower the heat if it browns too fast.
Butter is about 80% fat; most of the rest is water plus milk proteins and sugar. The water sizzles off first, then the milk solids brown along with the semolina, adding a brown-butter note. Those solids can also scorch on the bottom of the pan. Ghee is nearly pure fat with the milk solids already removed, so it tolerates the long roast with less risk of burning.
Add the coconut for the last 4–5 minutes of roasting.
Desiccated coconut is small, dry and rich in its own oil and natural sugars, so it browns much faster than semolina. Added at the start, it would be dark or burnt long before the semolina is done. Added near the end, both finish golden together.
Heat the milk and water in a separate pot while the semolina roasts, and pour it in hot.
Starch absorbs water and swells as it heats, a process called gelatinization. Hot liquid keeps the pot hot, so every grain starts swelling at the same time. Cold liquid crashes the temperature, so the grains thicken unevenly and lumps form while the rest catch up.
Crush the cardamom pods and let them steep in the milk as it heats.
Cardamom’s aroma comes from fragrant oils inside its small black seeds. Crushing the pods exposes the seeds, and hot milk, which contains fat, draws those flavors out and carries them evenly through the halwa, instead of leaving strong pockets wherever a pinch of powder landed.
Dissolve the sugar in the hot liquid before it goes in.
Sugar competes with starch for water. Cereal chemists have shown that sucrose pushes the swelling of wheat starch to higher temperatures and slows it down. In halwa that keeps the grains from absorbing everything at once and setting stiff like upma, so the finished halwa stays soft, glossy and spoonable. Dissolving the sugar first also means no gritty crystals.
Use three cups of liquid for every cup of semolina.
That’s about as much liquid as coarse semolina can absorb as its starch fully softens, so the grains end up tender while the halwa still pulls away from the pot in a glossy mass. Less liquid gives a firmer, sliceable halwa; more gives a softer, pudding-like one.
Pour the hot liquid in slowly while stirring, keeping your hand and face away from the pot.
The roasted semolina and butter are far hotter than water’s boiling point, 212°F (100°C). When the liquid hits, part of it flashes into steam instantly and the mixture spits hard. Pouring slowly lets the steam escape gradually, and a long-handled spoon keeps your hand out of the spatter.
Cover the pot off the heat for 5 minutes.
The grains keep absorbing liquid after the heat is off, so a short rest lets them finish swelling. As halwa cools further, its starch slowly re-crystallizes, which is why leftovers firm up and taste best re-warmed with a splash of milk.
Exact amounts and timings are in the recipe card below.
Halwa is a festive treat, and the numbers show why it’s best enjoyed in small portions.
1.1 g protein per 100 calories. Estimated from the ingredients with USDA FoodData Central values.
Gym-friendly tip: Treat-sized. For more protein, serve with a cup of milk (+8 g) or Greek yogurt.
Cooking the semolina in milk adds calcium and protein. Using all milk instead of half water roughly doubles both.
Semolina is milled from hard wheat, which is higher in protein than many soft flours, so halwa is more filling than sugar alone.
General nutrition information, not medical advice. Numbers marked “estimated” are calculated from the recipe’s ingredients and vary with brands and portions. If you have diabetes, heart or kidney disease, a food allergy, or are pregnant, ask your doctor or a registered dietitian how this dish fits your diet.
Health sources: NIH Office of Dietary Supplements: Calcium · Dietary Guidelines for Americans
See the full ingredient health guide: benefits, traditional roots and the science →
They’re close cousins. Kesari (kesari bath) is the South Indian version, often colored with saffron and usually cooked with water; North Indian sooji halwa is made with ghee and milk or water.
1 part sooji, 1 part ghee or butter and about 1 part sugar by volume, with 3 parts liquid.
The liquid was cold, went in all at once, or the semolina wasn’t fully coated in fat. Heat the milk separately, pour it in slowly while stirring, and keep stirring as it thickens.
It works, but it makes a smoother, pastier halwa and needs a little less liquid, about 2½ cups per cup of semolina. Coarse sooji gives the classic separate grains.
It turns an even golden color, smells nutty like toasted cookies, and feels lighter and sandy as you stir.
Yes, ghee is the traditional choice. Use the same amount; it handles the long roast better because it has no milk solids left to scorch.
Yes, on Sauté mode, using it as a heavy pot. See the Instant Pot method in the recipe card. Pressure cooking isn’t needed: the halwa cooks in minutes once the liquid is in.

Coconut sooji halwa made the classic way: coarse semolina roasted in butter with coconut, then cooked in hot, cardamom-steeped milk. With the food science behind every step and an Instant Pot method.
Use an 8-quart Instant Pot for the full batch, or make a half batch in a 6-quart. The Instant Pot works as a heavy pot here, on Sauté; no pressure cooking is needed.
Sauté heats in on-and-off pulses from a small element under a narrow pot, so keep stirring from the bottom. A wide pot on the stove browns the semolina more evenly.
How much to make, based on 4 people eating it once a day. One batch of this recipe makes 12 servings.
Why only a few days in the fridge? Refrigeration slows bacteria but doesn’t stop them; some, like Listeria, can still grow at fridge temperatures, which is why food-safety agencies set cooked leftovers at 3–4 days. Freezing at 0°F stops growth completely, so frozen portions stay safe indefinitely; the freezer times above are for best taste and texture.
Food-safety guidance: USDA, Leftovers and Food Safety · FoodSafety.gov storage chart