In a pan take little oil. after the oil is heated, add onions and fry till golden brown. Then add the coconut (both dry and wet grated) and fry till they also turn brown. Put off the gas.
In a mixie, pour the fried masala and add ginger and garlic and grind to a paste (coarse).
Now take little oil in a vessel. Add tomato to the oil and saute it for some time. Add the ground masala and fry it for a minute on a low flame.
Add turmeric powder, garam masala and red chilli powder and fry the masala on the low flame till you get a thick texture.
Add mushrooms, cashews and soya chunks and water and salt. Now let it boil till cooked and the gravy becomes thick.