Preheat your oven to 350F and roast your cashews. Watch them closely. Usually, it takes about 5-7 minutes. Remove from oven and set aside.
Grind all the dry ingredients (first grouping) listed under onion/garlic/ginger paste until they are powdered and then add to the rest of the ingredients, except the curry leaves, into a small food processor and grind to a smooth paste.
Add the 2 tbsp of butter and your oil to the pan and bring it to a medium heat and add the ground paste mixture and curry leaves. Cook it on medium to medium low, stirring until the spices begin to become aromatic and its raw smell disappears and the oil starts to separate. It will take about 7 – 8 minutes.
Next, mix in tomatoes and cook for 4 minutes. Add salt and sugar. If needed, add just enough water to just loosen the mixture. Do not make it too thin.
Add cashew nuts, and coconut milk, and let it simmer for another 5 minutes. Garnish with chopped coriander leaves and serve with basmati rice.