In a medium bowl, add hot (not boiling) water. Add one teaspoon of salt.
Cut the paneer into one inch long pieces. Add the paneer pieces into salted water and keep it aside until needed.
In a large saucepan, over medium-high heat, add one tablespoon of oil. Carefully, add onion, garlic, ginger, tomatoes and cashew nuts. Cover and cook until onion are translucent and tomatoes have softened; stirring occasionally. Remove from heat and let it cool.
In a blender, add cooked onion mixture and green chili, and grind it to a fine paste.
Add yogurt and tomato purée and blend. Strain the paste through a sieve.
In the same saucepan over medium-high heat, add ghee and olive oil. Add bay leaf, cloves, cardamoms, cinnamon stick, coriander powder, turmeric powder, chili powder and salt. Add about one cup of onion paste and mix well. Cover and cook for about 5 minutes.
Add remainder of the onion paste and milk. Mix well; cover and cook for 10-15 minutes until oil starts to appear on the surface, stirring occasionally.
Reduce the heat to low. Add cream, sugar, methi leaves, coriander powder, cumin powder, nutmeg and mace powder. Mix well; cover and cook for another 2-3 minutes.
Remove paneer pieces from the salted water and add it to the cooked masala sauce. Gently mix. Cover and cook for about 5 minutes just to heat the paneer thoroughly.
Turn off the heat and let it rest for about 5 minutes for the paneer to absorb some flavors.
Pour it into a serving dish and garnish with fresh cream and chopped fresh coriander. Serve hot with Roti, Tandoori Roti or Naan.
Notes
1. The gravy of Shahi Paneer is generally thick. Add more milk if you prefer thin gravy. 2. Kashmiri red chilies are not hot, it gives a nice red/orange color to the dish.
Recipe by Raj's Kitchen at https://www.rajskitchen.com/indian-punjabi-recipes/shahi-paneer-recipe-how-to-make-shahi-paneer/