Rinse moong dal until water runs clear. Soak for 1 hour.
After 1 hour, drain all the water from the dal. Transfer it to a colander to drain all the liquid. Spread it in a single layer on a baking tray lined with a kitchen towel. Put this tray under the fan or sun for 10 - 15 minutes for dal to dry completely.
Once dal is dry to touch, transfer it to a wide pan. Dry roast over low to medium heat till it is light brown in color (refer to image/video). Keep stirring while roasting. Transfer to a blender. In the same pan, dry roast the ¼ cup almonds for 2 - 3 minutes. Transfer to the same blender as dal.
Grind roasted dal and almonds to a slightly coarse powder. Transfer to an airtight container to store or use immediately.
Next, soak saffron and cardamom powder in hot milk. Stir, and keep aside until ready to use.
To make halwa, heat ¼ cup of ghee in a heavy bottom wide pan/kadhai/casserole
Add gram flour, semolina, and roast for 2 - 3 minutes or till a sweet, nutty aroma is released.
Next, add dal badam powder. Mix nicely with ghee. Start roasting it over low to medium flame. After 5 minutes, it starts oozing ghee in the pan and turns deep brown in color. That is your cue to add milk.
Add in saffron infused milk, and 1 tablespoon of ghee. Continuously stir the halwa to avoid any lump formation and to make sure milk is absorbed by the dal paste. If there is spluttering and bubbling, cover the pan with a lid. Keep it that way for 1 - 2 minutes or till bubbling is settled.
Once the milk is absorbed by the halwa, add the leftover ghee, and the sliced nuts. Continuously stir and roast the halwa till ghee starts oozing from the sides. This is the signal that moong dal halwa is ready.
Garnish moong dal halwa with sliced almonds, pistachio, saffron, and edible silver leaf. Serve warm.