Heat oil in a large pan on medium flame.
Add the crushed ginger, garlic and green chilies.
As soon as the raw smell disappears, add sliced onions and mix well.
Once it becomes translucent, reduce the flame and add the spice powders: turmeric powder, chili powder, and coriander powders, one at a time.
Make sure the powders are roasted well in a very low flame.
Add the ground tomato and cashew paste, Mix well and saute till the oil comes to the top. I usually keep sauteing till the onion-tomato mixture is getting dry and then sprinkle 2-3 tbsp hot water on it. This allows the oil to come out, i think. At least, it works like that for me.
Continue to saute for a few more minutes.
Reduce the flame to low and add the washed and cut mushroom.
Sprinkle some salt and mix the mushrooms well into the masala.
Keep the flame on low and cover and cook till the mushrooms are cooked.
The mushroom will ooze out water. Let it simmer and cook in its own juices.
Let the curry thicken into your desired consistency. You can sprinkle some hot water if you want it to have a little more gravy.
Sprinkle a little sugar and a little garam masala. Mix well.
Switch off. Cover and keep aside for a few minutes before serving.