In a large Dutch oven or deep skillet, heat coconut oil or ghee over medium-high heat. Add in your onion, garlic, and ginger. Stir until just slightly softened, about 1 minute.
Add garam masala, chili, coriander, cumin, paprika, cardamon, and salt. Mix to combine to infuse the flavors with the onion, garlic, and ginger, for another minute.
Add in your chickpeas and toss to combine, for another minute. Then add in your coconut milk, and crushed tomatoes. Mix until completely combined. Bring the heat to low, and let everything simmer and come together, for 15 to 20 minutes, until just slightly reduced. Toss in your butter to melt.