Add sugar to a dry grinder jar (I use my coffee grinder) and grind to a fine powder. If you are using green cardamom, add the seeds to the sugar and grind together.
In a wide and heavy bottom pan or skillet, add the besan and ¼ cup ghee. Place on low heat.
Start roasting besan on a low flame, stirring continuously using a soft spatula or wooden spoon. At first the besan ghee mixture will feel clumpy and a bit difficult to stir. This is becasue as soon as you combine together, besan absorbs the gee and clumps together. At this stage you might feel that the ghee is less, however dont add any more.
As the besan mixture warms up, it will start spreading and will become easier to stir. Keep stirring.
In about 10 -12 minutes, you will feel that the besan mixture is much easier to stir, looks bubbly and feel fluffy under the spatula. This is when the besan starts roasting in ghee. The mixture will be glistening.
In about 15-16 minutes, the color changes to pinkish yellow and you will smell a super nice aroma. Keep a close eye close since besan can burn easily at this stage. The slow roasting is extremely important to ensure that the raw taste of besan is gone and besan roasts evenly
After about 17-18 minutes of slow roasting, you will also see little ghee is starting to separate on the sides of pot. The color of besan will be golden yellow. Immediatley take off the stove. The pan is still hot and besan will continue to roast for next 2-3 minutes. Make sure that you keep and eye and keep stirring. If you feel that besan is going to burn, transfer it to a plate.
Mix in the raisins (or nuts if using) after 5 minutes of taking off the stove. The raisins will plump up. Set aside to cool down for 15-25 minutes but don't let get cold.
Once the roasted besan is cooled (but not cold) and easy to handle, add in the sugar.
Combine so that everything is mixed together. At this stage if you feel that the mixture is dry, add 1 teaspoon of melted ghee first and mix. Feel the texture of ladoo mixture and then add more gradually if needed.
Take small portions of the ladoo mixture and roll into smooth round balls. You can moisten your palms with little melted ghee (if required) while making balls.
Store for up to a month in an air tight container at room temperature.