Heat butter in a pan over medium heat. Add chopped onions and sauté until golden brown (about 5–6 minutes).
Stir in minced garlic and grated ginger. Sauté for 1 minute until fragrant.
Add tomato puree, garam masala, cumin, coriander, chili powder, salt, and sugar. Stir well and cook for 5–6 minutes until the mixture thickens slightly.
Lower the heat and add the heavy cream. Mix gently to create a smooth and creamy texture.
Let the sauce simmer on low for 5–7 minutes, stirring occasionally, until it reaches a rich, velvety consistency.
Taste and adjust seasoning as needed.
Garnish with fresh cilantro and enjoy with rice or naan.