Heat the ghee in a pan and add besan. Roast on low heat with a wooden spoon until the mixture turns a caramel brown.
Heat milk in a saucepan and add the jaggery, khoya, cardamom and nuts. (Reserve a few nuts for garnishing later). Stir until the jaggery and khoya have dissolved in the milk.
Pour the above milk mixture into the besan-ghee mixture. Stir on low heat until most of the liquid has evaporated and the halwa thickens.
Take out the halwa in a platter and cut into diamonds or squares. Top with nuts.
Notes
Keep the heat LOW at all stages of cooking this halwa. If you increase the heat to cook it faster, it will burn.
Stir the halwa continuously in a circular motion using a wooden spoon both when roasting the flour in ghee and after adding the milk mixture. The halwa will brown evenly if you do this.
Roast the chickpea flour in ghee very well. The mixture will change texture and color as you do this. Stop when you get a caramel-like thick paste.