Heat oil in a thick bottom pan, add asafoetida, cumin seeds, mustard seeds, cinnamon, big cardamom, cloves, bayleaf. Gently roast them till they leave natural aroma.
Add tomato chunks, slit green chilli and ginger slices. Roast them.
Now add turmeric powder, red chilli powder, coriander powder and salt to taste. Toss the ingredients gently and cover the pan. Allow to cook for 5-10 minutes till tender.
To this mixture, add cashews, almonds, raisins, lotus seeds, tomato sauce and sugar. Mix well.
Sprinkle all-spice powder. Now add enough milk to reach a desired consistency. Usually this gravy is served thick than runny, so adjust accordingly.
Allow the mixture to boil. Remove from flame and allow to cool completely.
Now remove using tweezers, bayleaf, cinnamon stick, big cardamom and cloves. Grind the gravy into a paste. At this stage you can freeze the gravy for future use.
When ready to use, remove and thaw it well. Add paneer or any other vegetable like capsicum or mix vegetables, simmer gently for few minutes and serve hot with naan or parantha. Before adding vegetables, you would need to cook them (par boiled/ stir fry or steam).