Heat 2 tablespoons of butter in a large skillet over medium heat. Add cumin seeds and let them toast for 30 seconds. Add chopped onions, garlic, and ginger, and sauté until golden, about 5 minutes.
Stir in turmeric, coriander, garam masala, and chili powder. Cook for another minute until the spices are fragrant.
Add the tomato puree, salt, and water to the skillet. Stir everything together, scraping the bottom of the pan to release any flavorful bits stuck to the pan. Let it simmer for 5-7 minutes until the gravy thickens.
Add the chickpeas to the skillet, stirring well to coat them with the gravy. Pour in the cream and let the curry simmer for 10-15 minutes, allowing the flavors to meld and the sauce to thicken. Stir occasionally.
Once the curry is thick and flavorful, taste for seasoning and adjust as necessary. Garnish with fresh cilantro before serving.