Heat water, add sugar and cardamom powder Bring to a boil. Turn off heat and keep sugared water aside.
Heat a pan, add butter/ghee and milk, bring to boil
Turn of the stove and add the besan/gramflour
Mix well and break up lumps
Turn on the stove to medium low, cover the pan to steam cook besan/gramflour in its own moisture for 20 min. Stir every 3 to 4 minutes. This is a very important step, to cover and cook the besan. On induction, the temperature is 600 F
Remove cover from pan, increase temperature to medium and roast the besan for 15 minutes. On induction, temperature is 800 F
Add sugared water slowly to the pan, little at a time and stir continuously to avoid lumps, keep med to high heat. I put the sugared water 1/3 at a time. when hot gramflour meets water, it can splatter, so be careful
Besan absorbs all the water/moisture in about 10 minutes and leaves sides of pan. You will see the fat separate from the besan.
Turn off heat, sprinkle chopped nuts and keep covered for 5 minutes. Can add additional saffron at this time
Mix well and serve hot
Store in fridge and heat before serving. Tastes best when its hot. Can be microwaved.