Take moong dal in a strainer and rinse under running tap water until water runs clear.
Transfer the rinsed lentils to a clean kitchen towel. Rub and pat dry the dal until most of the moisture is absorbed.
Transfer the moong dal to a wide pan and turn the heat on medium. Dry roast until all the moisture is gone and dal becomes dry. We are not looking for browning or color change. It takes around 5-7 minutes.
Remove it to a plate and let it cool down.
Grind into a fine or coarse powder using a spice grinder. My spice grinder is small so I had to do it in batches. If you have an Indian mixer (preethi style) then you can do it all in one batch.TIP: Coarse or Fine - It depends on how you like your halwa texture. Some prefer smooth halwa vs some prefer grainy (danendar) halwa.
Heat 1 tablespoon of ghee in a large wide pan. Once hot add chopped almonds and cashews. Fry until they are golden brown. Remove it to a bowl and keep it aside.
While you are roasting the nuts, on another stove heat water, sugar and saffron mixture in a saucepan.
Let the sugar melt and bring it to a simmer only (no need to boil or simmer for longer). As soon as it starts simmering, turn off the stove.
While the sugar syrup is getting hot, heat the remaining ghee in the pan on low heat. Once hot add sooji. With stirring constantly roast it until it gets slight brown color. It takes around 5 minutes.
Then add prepared dal powder and mix immediately. Roast the dal with stirring constantly until they get golden brown in color. It takes around 15 minutes on low heat.
Now add the sugar-water mixture and keep stirring the mixture with another hand. Be careful the mixture will get bubbly and may splutter.
Keep mixing and within a few minutes, it will become like a thin paste.
Keep stirring and scraping the sides and bottom of the pan and continue cooking. Within 5-7 minutes it starts to thicken up. After another 10 minutes, it comes together like a dough.
Continue cooking, after another 10 mins (25 minutes total), it starts to leave the sides of the pan. We are still not there yet.
After another 10 mins of cooking (35 minutes total), you’ll notice little ghee oozes out from the sides. Plus, you’ll notice the color change from the beginning.
At this time, cover the pan and keep the heat lowest possible and cook for 5 minutes. As you open the lid, you’ll see a lot more ghee is separated from all the sides and halwa gets darker in color. At this time, halwa is cooked perfectly.
Add cardamom powder and fried nuts. Mix well and halwa is ready.
Patience is the key. Cooking halwa on low flame after adding sugar-water mixture may take more than 35-40 minutes. So be patient and keep cooking.
Stirring constantly during the halwa cooking process is important to avoid sticking to the pan and for even cooking. Also, scrap the sides and bottom of the pan at intervals.
The entire halwa cooking process has to be done on low-medium heat. If cooked on medium or high heat then it gets brown color quickly but tastes raw.
Roasting dal powder until it gets golden brown color is a must otherwise you’ll get a raw taste of dal in halwa.
Ghee to lentil proportion has to be right to get the perfect texture. So don’t reduce the amount of ghee. This is a rich dessert and made on occasions only so don’t be stingy on ghee.
It is much easier to make in a non-stick pan or enamel-coated dutch oven vs steel or iron pan.