In a large pan, melt 2 tablespoons of butter over medium heat.
Add the chopped onion and sauté until softened and golden brown.
Add the star anise, black cardamom, green cardamom, cinnamon stick, and cumin seeds. Sauté for a minute until fragrant.
Stir in the ginger garlic paste and cook for another minute.
Add the garam masala, ground coriander, ground cloves, and Kashmiri chili powder. Sauté the spices for 1-2 minutes, allowing the flavors to bloom.
Stir in the tomato paste, canned tomatoes, sugar, and salt.
Simmer the sauce for 10-15 minutes, stirring occasionally, until thickened and the oil starts to separate from the sauce.
If using cashews, blend them with a little water to form a paste and stir it into the sauce for added richness.