Heat the pan and when it is hot, add the saffron strands and roast it for 30 to 45 seconds. Roasting the saffron strands helps to bring out its aroma.
Add this toasted saffron to the luke-warm milk and let it sit for 5 minutes or until we roast the almond flour.
In the same pan, add ½ tbsp of ghee and let it melt. Now add the almond flour and roast over medium-low heat for about 3 minutes.
Now add the saffron milk mixture and mix it without any lumps.
Let it cook for about 3 to 4 minutes. It will bubble-up, and that's normal. At this stage, add ½ tbsp of ghee and cook again for 3 to 4 more minutes or until it thickens. (After adding milk, you need to cook until it thickens, and it takes about 7 to 8 minutes. I added ½ tbsp of ghee in between)
Now add the sugar and the cardamom powder.
Mix well, and the halwa will be runny, and that's normal.
Cook this halwa mix for 10 to 12 minutes until it thickens. Please do not leave it unattended. At around 4 minutes, add ½ tbsp of ghee, and again at around 8 minutes, add ½ more tbsp of ghee. I prefer adding a small amount of ghee at regular intervals than adding all at once. Around 10 to 12 minutes, the halwa will thicken, and it will come together as a ball. You will also see the halwa will be shiny and ghee oozing on the sides. This is the right stage, and turn off the heat.
Alternatively, you can take a small piece of halwa and let it cool. If you can make a small ball without the halwa sticking your fingers, it is done. If not, cook again by adding little ghee. Overcooking the halwa makes it slightly chewy. The halwa cools as it thickens. You can serve it warm or cold. I always prefer it warm. I add a tsp of ghee and some nuts before serving.
Notes
As you can see from the pictures, I made this dessert in a stainless pan, and you can very well make any Indian desserts in the pan. Keep stirring the halwa at regular intervals, and do not leave it unattended. To make the cleaning process easy, I immediately transfer the halwa to another bowl and soak my pan.
Roasting the store-bought almond flour enhances the flavor. So do not skip that step.
You can make this recipe vegan by using almond milk and coconut oil or neutral oil.
Like every other Indian dessert, I used saffron and cardamom as my flavorings, but you can use rose essence or other flavorings of your choice.
Add ghee in batches as required. If you feel the halwa is sticking to the pan, add ghee and scrape it. I used my silicone spatula, and it worked well. This won't be the case if you are using a non-stick pan.
The halwa is on the sweeter side. You can reduce it to ¼ cup but not less than that.
For this measure, you need a minimum of 1.5 to 2 tbsp of ghee, and you can add up to 3 tbsp.