Heat 2 tablespoons of oil in a large skillet over medium heat. Add the cashews and roast them for about 30 seconds. Add the chopped onion and sauté until golden brown, about 3-5 minutes.
Season with salt then stir in the garlic and ginger, and cook for another 1-2 minutes. Add the chopped tomatoes and cooked until the tomatoes are mushy, about 5 minutes. Remove from heat and let the mixture cool. Once the mixture has cooled down a bit, place it in a blender and blend until smooth. Set aside.
In the same skillet, add 1 tablespoon of oil. Heat over medium heat and add the cumin seeds. Let them sizzle for 30 seconds. Add the onion and cook for about 2 minutes until it softens.
Add the chili powder, coriander powder, Kasuri methi, turmeric, cumin powder and salt. Stir and cook for 2 to 3 minutes over low heat. Stir in the chopped cilantro and cook for another minute.
Add the pureed tomatoes paste, ketchup and cream. Stir everything together well and cook for another minute.
Next, add the green peas and 1 cup of water. Bring the curry to a gentle simmer and cook for 2 minutes.
Gently stir the paneer cubes into the curry, ensuring they are well coated. Simmer for another 5 minutes, allowing the flavors to meld.
Stir in garam masala, taste and adjust seasoning with salt or more spices as needed.
Garnish with fresh cilantro and serve hot with steamed basmati rice, naan, or roti.