Heat a suitably sized pot on medium heat, ideally a stainless steel pot or a wok (avoid using a non-stick pot), to this add your ghee. Allow this to melt before adding the grated carrots. The carrots will require sautéing for 15 to 20 minutes until they have softened and most of the moisture has evaporated.
Once the moisture from the carrots has evaporated you are ready to add the milk. Mix the milk into the sautéed carrots and cook until the milk evaporates. Ensuring that you are mixing every few minutes.
Before moving onto the next stage, you need to ensure that the milk has evaporated, a good indicator will be the carrots catching at the bottom of the pot.
You are now ready to add the cream, sugar and cardamom powder. Allow this to cook and ensure you keep stirring continuously. You are again looking for this mixture to cook until all the moisture has evaporated.
This a crucial stage, please make sure the heat setting is no higher than medium and that you are stirring continuously.
The carrot halwa is ready when all the moisture has evaporated and the ghee is visible on the side of the cooking pot. If you are in a rush you could switch off the heat and complete the dish by garnishing with nuts. However, I prefer to cook the halwa a little longer to achieve a greater depth of flavour.
I always cook Gajar halwa a little longer and allow the carrots to caramelise providing a more flavoursome dish.
On low to medium heat continue to sauté the carrots and stirring continuously, you will visibly see a change of colour in the carrots and mixture will release more of the ghee as well. This could take a further 10 -15 minutes. Once you have reached the desired level of caramelisation, you are ready to garnish with the nuts and saffron (optional)
Final garnish of more nuts and we are ready, enjoy!