Heat a Kadai, add a teaspoon of oil and sautee onions until it is browned. Cool and grind it to a smooth paste.
In a saucepan, add tomatoes, cashews, cinnamon, green cardamom, cloves and water. Simmer it for about 15 minutes until everything softens. Once it is cooled, drain the water (reserve it) and grind the ingredients along with garlic and ginger into a very smooth paste.
In the same kadai, add a tablespoon of butter and oil. Once it is hot, add the onion paste. Saute it for a couple of minutes.
Then add the tomato puree and keep stirring for about 10 minutes. The sauce would have thickened and oil separates on the sides.
Now add the spice mixes, sugar and salt. Mix it well and add about a cup of water.
Let it boil for another couple of minutes. Finally add the cream, kasuri methi and coriander leaves and turn off the flame.
If the sauce thickens much add some more water.
Recipe Notes
Adjust the amount of sugar and chilli powder as per your preference. It also depends on how sour or sweet the tomatoes are.
1.5 Cups water will give a mildly thick sauce. Adjust the consistency as you need.
This gravy can be made ahead and kept in the refrigerator for about 2-3 days. In that case do not add cream. Add it just before serving the gravy.