Soak paneer cubes in hot water for 15 minutes to soften, then drain and set aside. Blend the soaked cashews with 2 tablespoons of water to form a smooth paste.
Heat 1 tablespoon of butter and the vegetable oil in a large skillet over medium heat. Sauté the chopped onion until translucent, then stir in the ginger-garlic paste and cook for 1 minute until fragrant.
Add the tomato puree, Kashmiri red chili powder, cumin powder, coriander powder, and salt. Cook for 10 minutes until the oil begins to separate from the tomato mixture.
Stir in the cashew paste and cook for an additional 2 minutes. For an ultra-smooth texture, remove from heat, let cool slightly, blend the mixture, and strain it back into the skillet.
Add the water and bring the gravy to a gentle simmer. Stir in the remaining 2 tablespoons of butter, sugar, and garam masala.
Gently fold in the softened paneer cubes and simmer for 5 minutes so the cheese absorbs the flavors.
Turn off the heat. Crush the kasuri methi between your palms and sprinkle it over the curry along with the heavy cream. Stir well to combine and serve immediately.