Heat 1 tablespoon oil in a pan and add chopped onion, tomatoes and cashews to it. Sauté for a minute and add 2 cup of water to it. Cover the pan with lid and let it boil for 10 minutes.
After 10 minutes, open the lid and stir. Transfer this to a grinding jar and add 2 ice cubes to it. Grind it to a fine smooth paste.
Heat 1 tablespoon of oil in a pan/Kadhai. Add butter to it and once it melts, add red chilli powder and turmeric powder to it. Sauté for a minute and then add ginger garlic paste to it.
Once the raw smell goes off, add onion-tomato paste to it. Sauté it till the paste starts leaving pan and comes together.
Now add coriander powder, garam masala and sauté again for a minute. Add 1.5 cup water to it and let the gravy boil. Once boiling, simmer the heat and add sugar, salt and cream to it and cook again for few minutes.
In an another pan, heat 1 tablespoon oil over low medium heat. Take off all the soya chaap from sticks and cut into pieces. Wash them and dry a little, add them to the pan and saute till they are lightly golden on all sides.
Once done, take them out and add into gravy. Now add Kasuri Methi and cardamom powder to it. Mix well and switch off the heat.
Garnish with coriander leaves and serve hot with lachha parantha or Butter naan.