Indian Butter Chickpeas

6 servings


1 hour 10 minutes

total time


4 tablespoons unsalted butter

1 large onion, minced

1 1/2 teaspoons kosher salt, plus more to taste

4 garlic cloves, finely grated or minced

1 tablespoon grated fresh ginger

2 teaspoons ground cumin

2 teaspoons sweet paprika

2 teaspoons garam masala

1 small cinnamon stick

1 (28-ounce) can whole peeled plum tomatoes

1 (15-ounce) can coconut milk

2 (15-ounce) cans chickpeas, drained

Ground cayenne (optional)

Cooked white rice, for serving

1/2 cup cilantro leaves and tender stems, for serving


Melt butter in a large heavy-bottomed pot or Dutch oven over medium heat. Stir in onion and 1/2 teaspoon salt; cook until golden and browned around the edges, stirring occasionally, about 20 minutes. (Don’t be tempted to turn the heat up to medium-high; keeping the heat on medium ensures even browning without burning the butter.)

Stir in garlic and ginger, and cook another 1 minute. Stir in cumin, paprika, garam masala and cinnamon stick, and cook another 30 seconds.

Add tomatoes with their juices. Using a large spoon or flat spatula, break up and smash the tomatoes in the pot (or you can use a pair of kitchen shears to cut the tomatoes while they are still in the can). Stir in coconut milk and the remaining 1 teaspoon salt. Bring to a simmer, and continue to cook for 10 minutes, stirring occasionally, and continuing to mash up the tomatoes if necessary to help them break down.

Stir in chickpeas and a pinch of cayenne if you like. Bring the pot back up to a simmer and cook, stirring occasionally, for another 10 minutes. Taste and add more salt if necessary.

Serve spooned over white rice, and topped with cilantro.


Serving Size




Total Fat

27 g

Saturated Fat

19 g

Unsaturated Fat

6 g

Trans Fat

0 g




840 mg

Total Carbohydrate

51 g

Dietary Fiber

12 g

Total Sugars

10 g


14 g

6 servings


1 hour 10 minutes

total time
Start Cooking