Step 1
Take besan in a bowl. Add 2 tbsp warm melted ghee and gradually add milk. Rub the mixture between your palms until it resembles coarse breadcrumbs. Rest for 15–20 minutes, then sieve through a medium-mesh sieve to obtain even granules.
Step 2
Heat the remaining ghee in a heavy-bottomed kadai. Add the prepared besan granules and roast on low to medium-low heat, stirring continuously. Cook for around 20–25 minutes until the mixture turns golden, smells nutty and the raw besan aroma disappears.
Step 3
If using mawa, crumble it into the roasted besan and cook for another 3–5 minutes on low heat until well combined. Switch off the heat and let the mixture cool slightly while you prepare the syrup.
Step 4
Combine sugar and water in a pan. Heat until the sugar dissolves and the syrup reaches one-string consistency when tested between your fingers after cooling a small drop. Add cardamom powder and saffron, if using.
Step 5
Gradually pour the warm sugar syrup into the roasted besan mixture, stirring continuously to avoid lumps. Cook on low heat for a few minutes until the mixture thickens and begins to leave the sides of the kadai.
Step 6
Transfer the mixture into a greased tray lined with parchment paper. Spread evenly and garnish with chopped almonds and pistachios. Gently press the nuts into the surface.
Step 7
Allow it to set at room temperature for 2–3 hours, or until firm. Cut into squares or diamond shapes using a sharp knife. Garnish with edible silver leaf if desired.