Prep: line 8x8 inch square pan using parchment paper. You can grease the pan lightly first and then place the parchment paper so it doesn’t move. Keep it aside.
Heat the ghee in a pan on medium low heat. Once melted and hot, add coarse besan.
Mix and roast with stirring constantly. Keep the gas flame medium-low. In the beginning, the mixture will be like a thick paste and it feels heavy while stirring. As it gets roasted, you will notice the roasted, nutty aroma of the besan and gets slightly darker in color. Also, ghee starts to ooze out and the mixture becomes light, runny and bubbly. It took me around 15-17 minutes.
Now add half of the milk and stir immediately. The mixture will become frothy and as you continue cooking it will thicken up.
Add remaining half milk, stir and continue cooking until the mixture becomes thick.
Turn off the stove and remove the pan from the stove. Keep stirring the mixture for another 5 minutes as the pan is still hot and we don’t want the bottom part to get more brown.
Let the mixture cool down for 10-15 minutes. Then add powdered sugar, cardamom powder and nutmeg. Mix everything well.
Transfer the mixture to the prepared pan and spread the mixture evenly and smooth out the surface.
Sprinkle nuts and charoli. Slightly press them using a spatula so it sticks to the magas mixture.
While it is still warm, cut them into square pieces (i got 25 pieces).
Let the magas set completely (6-8 hours or overnight). Once set, cut the pieces again using a sharp knife.
Remove it by lifting the parchment paper and take out the pieces.