Soak cashews in milk for 10mins and grind it to paste, set aside. Though this is optional it gives a richness and nice flavour to the gravy.
Chop paneer into cubes. Take puree from 2 tomatoes and keep aside. Chop onions finely and make it ready.
Now in a mixing bowl add chilli powder, coriander powder, garam masala powder, dried kasoori methi leaves, tomato sauce then add milk.
Mix the milk spices mixture well and keep aside.In a nonstick pan add a teaspoon of oil, fry the paneer cubes till slightly golden brown and drain in a tissue paper and keep aside.
Now add butter in the same pan , allow it to melt then add ginger garlic paste saute for 2mins then add onions and fry till golden browned.
Then add tomato puree and fry until raw smell completely leaves, this will take atleast 5mins.
Now add the mixed milk-spices mixture,cashew paste,1/2 cup water and then simmer for 5-7 minutes. The gravy would be thick and mixed well at this stage.
Add remaining 1/2 cup milk little by little stirring continuously to prevent milk from curdling. Add required salt.
Simmer again for 3mins to see like the below consistency.
Then add the fried paneer cubes and mix well. Allow the paneer to sit for 2mins then switch off.
Garnish with cream and serve hot Paneer Butter Masala with rotis or naan.