Drain off water from soaked cashews and grind to a smooth paste in 1/4 cup water. Keep aside.
Heat ghee in a deep bottomed pan on low medium heat and fry the paneer till all the sides are nice and golden brown. Meanwhile mix tomato ketchup and tomato paste in a small bowl and keep aside.
Take off the paneer from pan and add 2 tbsp. ghee from 3 tbsps. to the same pan and sauté onions. Cook till soft, add ginger garlic paste and chillies. Saute till raw smell disappears.
Add chilli powder, turmeric powder, kasoori methi, garam masala powder and pepper powder. Be careful not to burn the spice powders so keep the flame relatively low.
Add tomato ketchup and salt. Add 1/2 cup water or little more and let the mixture boil. Don't make the gravy too watery as it looses its texture.
Once the gravy starts to boil, add cashew paste and let it simmer for about 15 minutes. I actually wasn't pleased with the taste of the gravy as it all tasted raw.
But I simmered gravy for 15 - 20 minutes and the raw taste of tomato paste and cashew disappeared and loved it just like any other chicken curry.
Once the gravy is all set add in the fried paneer and simmer for 2 minutes. Do not add the paneer first and then let the mixture to boil for so long as the paneer can get powdered into the gravy.
For the final touch add ghee and coriander leaves and kasoori methi and serve hot with battoora, paratha or naan. Enjoy.