Heat oil in a wok and sauté paneer cubes with little salt and take them out from wok. Keep them aside.
Meanwhile, soak the cashew nuts in warm water for 10 to 15 minutes and make a smooth paste.
Add butter to the wok and once it melts add whole spices like bay leaf, cinnamon, cardamom, and clove.
Next add garlic pods and slice onion into it. Keep on stirring until the onions are translucent.
After that add julienned ginger and chopped tomatoes and green chilli. Cook until the raw smell of tomato is gone.
Now add the cashew paste and half of the red chilli powder and combine well.
Later add water and allow to cook for 10 minutes.
Allow to cool it for some time and blend it in a blender.
After blending strain the mixture through a strainer.
Now heat the remaining butter in a pan and add coriander powder and remaining red chilli powder. Stir for few seconds.
Next add the strained mixture into it. Add fresh cream and mix well.
Now balance the sweetness of the gravy by adding sugar. Also adjust the salt.
Add sautéed paneer cubes into the gravy and allow to cook for 5 more minutes by closing the lid.
Finally, add crushed kasuri methi and dollop of butter or drizzle of cream on top. Now paneer butter masala is ready to serve.