Soak the cashews in hot water for 15 minutes and grind into a smooth paste with little water. Keep it aside.
Make a cross cut over the tomatoes and and boil them in water for 5 minutes and let them cool completely. When the tomatoes are cool, peel and discard the skin. Chop and blend them to a puree and set aside.
Heat oil in a pan and shallow fry the cubed tofu until they are light brown color. Set them aside.
Grind the chopped onion, ginger and garlic into a smooth paste.
Heat butter in a heavy bottomed pan and add the bay leaf and ground onion to it. Fry until the raw smell of the onion disappears.
Then add the cashew paste and tomato puree and combine well. Let it cook for a couple of minutes.
Now add the red chilli powder, turmeric, salt and garam masala and mix until well combined.
Add water to adjust the consistency.
Let it simmer til the gravy begins to thicken.
Add the tofu and cook for another 2 minutes.
Add the crushed kasoori methi and combine. Add the chopped coriander leaves.