Warm Milk & Water: Pour milk and water (or just water) in a pyrex cup and heat in the microwave for 3 minutes. If using saffron, add it to the mix. Alternatively, heat it on the stove in a sauce pan. Keep aside for later.
Roast semolina (and nuts): Heat a wide sauce pan or deep skillet on medium-low heat. Add ghee (or butter) and wait for it to melt, about 20-30 seconds. If using nuts and raisins, add them and saute for 1 minute. Add sooji and roast it while stirring regularly for 6-8 minutes until the color darkens a little and you can smell a nutty aroma. (Roast another 4-5 mins for a golden-brown halwa.)
Add liquid: Carefully and slowly add the warm milk and water mix, and stir continuously with a whisk or wooden spoon to prevent any lumps from forming.
Add sugar: When the liquid is reduced in half (about 1-2 minutes), add sugar and stir well.
Stir in cardamom powder: The halwa is ready when it stops sticking to the pan and reaches a thick pudding-like consistency. It will continue to thicken as it cools. If you like your halwa more dry, continue to cook for another 1-2 minutes. Turn off the heat and stir in cardamom powder.
Rest for 5 mins: Cover the pan and rest the halwa for 5 minutes. The steam fluffs up the sooji grains and enhances the texture. Serve warm or cold, as it is, or garnish with slivered nuts.
Video
Notes
Sooji (Semolina): For a creamy consistency, use fine sooji. Always store the sooji in an airtight container in a cold, dry place, or the refrigerator so it stays fresh.
Sooji Roasting Tip: 6-8 mins results in a light colored halwa. If you like a golden-brown color halwa, continue to roast the sooji for another 4-5 minutes while stirring continuously.
Ghee or butter: For authentic results, I make this halwa in ghee or unsalted butter. Use 4 tablespoons for regular richness, 5 or 6 tablespoons for a richer halwa.
Water or Milk: Add the liquid as per your preference. Add a combination of milk and water for a rich flavor and texture, otherwise use plain water entirely.
Sweetness: Adjust the sugar to your liking. Reduce the sugar to ⅓ cup for less sweet.
Careful of splashes: When you add warm liquid to the pan it splashes, so use a deep sauce pan and a long whisk to be safe.
End texture: For a creamy pudding-like texture, turn off the heat when halwa reaches a semi-solid state. For a grainer texture, continue to cook till it stops sticking to the pan and resembles a soft dough.
Vegan Suji Halwa: To make this halwa vegan, skip the milk or use almond milk instead. Instead of ghee, use coconut oil or avocado oil.
Instant pot vs Stovetop: When making this halwa for 4 servings, I prefer to make it on the stove. Instant Pot comes in handy for a larger quantity.
Note: The nutrition facts below are my estimates and include nuts. If you are following any diet plan, I recommend cross-checking with your preferred nutrition calculator.