Firstly heat 1.5 cups of milk in a thick bottomed pan till it comes to a boil.
At the same time, when you keep the milk for boiling, on another stove top keep a thick bottomed pan. Add ¼ cup of ghee in it.
Once the ghee melts, then lower the heat.
Add 1 cup of gram flour (besan) and mix very well with the ghee.
Keep on stirring continuously so that the besan is evenly roasted.
Mix and stir well for 14 to 15 minutes on low heat, till the besan leaves a nutty aroma.
Soon the gram four will start releasing ghee.
By now the milk must have also got boiled. In case the milk gets boiled earlier, before the besan gets roasted, then switch off the flame and cover the milk pan.
The milk has to be poured in two batches. Keep the heat to a low and first pour 1 cup of hot milk gradually into the roasted gram flour. While you are pouring the milk, simultaneously keep on stirring also. Mix the milk very well with the roasted gram flour.
Then pour the remaining ½ cup milk.
Continue to mix and stir the mixture for 1 to 2 minutes.
Add ⅓ cup of sugar. The amount of sugar can be adjusted as per your taste preferences.
Stir well so that no lumps are formed. Keep continuously stirring for 5 to 6 mins on a low flame.
Soon the mixture will start thickening. You have to continuously keep stirring the mixture, then only halwa will be smooth and without lumps.
Add cardamom powder, pistachios (slivered or chopped) and almonds (slivered or chopped).
Continue to stir and mix well.
You will see some ghee separating from the halwa at the sides. The halwa will also start leaving the edges of the pan and will appear smooth and glossy.
Switch off the heat. The besan halwa will become thick as it cools down.
Serve besan halwa hot or warm or chilled. If you want you can garnish halwa with chopped nuts and saffron strands.
Refrigerate any leftovers. While serving warm the halwa in a pan so that the ghee melts as on refrigeration it solidifies. This halwa keeps well in the fridge for 3 to 4 days.
Notes
Adding dry fruits is optional.
Roast the besan on a low heat continuously. Keep stirring the mixture continuously. The gram flour has to be roasted evenly for a evenly cooked smooth halwa.
Also its important to roast the besan very well, otherwise it will give a raw taste to the halwa.
You can store the besan halwa in the fridge and it will last for about a week.