Heat oil in a pan over medium heat and sauté onions until translucent.
Add tomatoes, salt, and cashews. Cook until tomatoes are soft and mushy.
Transfer the mixture to a blender, add water, and blend to a smooth puree.
In the same pan, melt butter and add ginger garlic paste. Sauté until fragrant.
Pour the pureed tomato mixture back into the pan, add garam masala, and simmer for 15 minutes.
Add paneer cubes to the gravy and cook for 5 minutes, allowing the paneer to absorb the flavors.
Crush kasuri methi between your palms and sprinkle over the curry.
Stir in heavy cream and simmer for another 2 minutes.
Garnish with chopped cilantro before serving.