In a kadhai or pan, add besan, and dry roast it on low to medium heat.
Keep on roasting the besan frequently without burning it. While roasting the flour, use a spatula to break the small lumps in the flour. Repeat the same process for 20 minutes.
Make a well in the roasted besan in the center, add some ghee, and melt it. Keep two tablespoons of ghee aside to add later.
Mix besan and ghee very well. Next, add fine semolina and keep roasting the besan for about 15 minutes continuously. Do not let the besan form any lumps. Break down the lumps with a spatula.
Add 1 tbsp ghee in the mixture. Roast it for 10 minutes on low heat. Keep pressing and roasting the besan with a spatula for that perfect soft and creamy texture.
Next, add another tbsp ghee in the mixture. Roast the besan further on low heat for 15-20 minutes or until it turns golden brown in color.
Carefully transfer the besan to a big mixing bowl and let it cool down for about 25-30 minutes.
Add powdered sugar little at a time and mix it well with the roasted besan.
Next, keep on rubbing the mixture with the palms of your hands. It will smooth out the mixture and ghee will start releasing from it - which will help form smooth ladoos.
Add some cardamom powder and chopped nuts to the roasted besan and mix it well.
Take 2-3 tbsp of ladoo mixture and shape it into a smooth round ball.
Repeat the same step with the remaining mixture and form ladoos.
Keep the ladoos on a plate to air dry them.
After 10-15 minutes, with your finger slightly move each ladoo in a circular motion which will help the laddo not to stick at the bottom and will make it easy to lift from the plate without breaking.
After 30 minutes, they will completely get dry and then you can store them in an airtight container.