Heat 3-tablespoon oil in a kadai and splutter cinnamon, cloves and cardamom.
To this add sliced onion and saute it by adding little salt. When the onion become soft, add ginger-garlic paste and fry for 5 minutes.
Then add tomato, turmeric powder, kashmiri chilli powder and kasuri methi.
Mix it well and keep it in a medium flame till tomato becomes soft.
Remove from fire and allow this masala to cool.
When it is cool enough, grind it into a fine paste, which is of medium consistency.
In a pan, heat 1-tablespoon oil and add mushrooms with little salt.
Saute till the mushrooms are cooked and all the water content evaporates and the mushroom dries up.
Now add the masala paste along with little water to it and when it boils cover it with a lid and keep it in a medium flame till the dish reaches the required consistency (not too thick).
Now add cashew nut paste and sugar and mix well. Keep it in a low flame for 5 minutes.
Add fresh cream just before removing it from fire.
Transfer it into a serving bowl and sprinkle butter over it and serve hot.
NB: If you are health conscious, you can avoid fresh cream and butter from this recipe and follow up to step-10 and remove the dish from fire