Add onion, ginger and garlic to a food processor, puree until smooth with the help of a bit of water. Set aside.
Add tomatoes to same food processor, puree until smooth. Set aside.
Add cashews to same food processor, puree until smooth with the help of a bit of water.
Heat a pan/wok on medium heat and add ghee. Add all the whole spices and cook until aromatic, about 30 seconds.
Add onion, ginger and garlic paste and mix well.
Add turmeric, deggi mirch and ground coriander. Stir well and cook this 'masala' until dry. Most of the moisture should evaporate. If the masala starts to stick at the bottom, add water and clean the bottom of the pan and continue cooking.
Add pureed tomatoes and bring up to a simmer. Add salt to taste and continue cooking with the lid on.
Stir well and cook the masala until dry. Most of the moisture should evaporate. If the masala starts to stick at the bottom, add water and clean the bottom of the pan and continue cooking.
Add cashew paste and cook for 1-2 minutes.
Then add the cubed paneer and mix well in the masala, add the peas as well and mix well. Cook for 1-2 more minutes.
Add enough water to create a gravy and bring up to a simmer. Finish with garam masala, kasoori methi and cream. Serve with roti/naan/paratha/rice.
