Take a kadai and turn on the fame.
When kadai is hot, add 1-2 tablespoons of cooking oil/ghee.
When oil is hot, add bay leaf, cinnamon stick, green cardamoms, cloves, black peppercorns, and cumin seeds and saute them on a low to medium flame for 10 seconds.
Add roughly chopped onions and mix well.
Add garlic cloves, roughly chopped ginger, and roughly chopped green chilles to taste.
Mix all these ingredients well and saute them on a medium to high flame until onion turns translucent.
Add roughly chopped tomatoes, cashew nuts, and salt taste, and mix them well.
Cover the lid and cook on a low to medium flame until tomatoes are soft and mushy by stirring often.
When tomatoes are soft, turn off the flame and transfer the mixture into a plate and let the mixture to cool down completely.
When the mixture cools down completely, take a grinding jar and add in the mixture and make a smooth paste out of it. Discard the bay leaf before grinding.
Keep the onion, tomato, and cashew paste aside for later use.
Take a kadai and turn on the flame.
When kadai is hot, add 1 tablespoon of cooking oil/ghee.
When oil is hot, add chopped mushrooms and saute them on a medium to high flame for 3-4 minutes and then transfer them into a plate and keep aside for later use.
In the same kadai, add 2-3 tablespoons of cooking oil/ghee.
When oil is hot, add finely chopped onions and saute the onions on a medium to high flame until onion turns light golden brown in colour.
Add finely chopped tomatoes and salt to taste, and mix well.
Cover the lid and cook the tomatoes on a low to medium flame until tomatoes are soft and mushy by stirring often.
When tomatoes are soft and mushy, add turmeric powder, red chilli powder, and coriander powder, and mix well.
Cook the spices on a low to medium flame for 3-4 minutes.
Add tomatoes, onion, and cashew paste, which we have made previously and mix well.
Cook the masala on a low to medium flame for 7-8 minutes or until oil gets separated from the masala.
Add sauteed mushrooms and garam masala and mix well.
Add water as required and mix well.
Cover the lid and simmer the curry for 5-7 minutes or until mushrooms are well cooked by stirring often.
When mushrooms are well cooked, add fresh cooking cream and mix well.
Add finely chopped coriander leaves mix well.
Turn off the flame and transfer this into a serving bowl and serve hot with roti, paratha, naan, ghee rice, jeera rice, or with plain rice.