Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 tbsp neutral oil (such as sunflower or canola)
- 1 large yellow onion, finely diced
- 4 cloves garlic, minced
- 1 tbsp fresh ginger, minced
- 1–2 small green chilies, finely chopped (optional, to taste)
- 1 ½ tsp ground cumin
- 1 ½ tsp ground coriander
- ½ tsp ground turmeric
- 1 tsp mild paprika (or Kashmiri chili for color)
- 2 tsp garam masala, divided
- 1 tsp fine sea salt, plus more to taste
- 1 x 14.5 oz (400 g) can diced tomatoes
- 1 tbsp tomato paste
- 2 x 15 oz (425 g) cans chickpeas, drained and rinsed
- 1 x 14 oz (400 ml) can full‑fat coconut milk
- ½–¾ cup vegetable broth or water
- ½ tsp sugar (optional, to balance acidity)
- ½ cup fresh cilantro, chopped, plus extra for garnish
- 1–2 tbsp fresh lemon or lime juice
- Cooked basmati rice or warm flatbreads, for serving
Do This
- 1. Warm oil in a large pot over medium heat. Sauté onion with a pinch of salt for 8–10 minutes until soft and golden.
- 2. Stir in garlic, ginger, and green chili; cook 1–2 minutes until fragrant.
- 3. Add cumin, coriander, turmeric, paprika, and 1 ½ tsp garam masala; cook 30–60 seconds, stirring, to toast the spices.
- 4. Add diced tomatoes and tomato paste. Simmer 8–10 minutes, stirring, until thickened and slightly darkened.
- 5. Stir in chickpeas, coconut milk, ½ cup broth/water, sugar (if using), and ½ tsp salt. Bring to a gentle simmer.
- 6. Partially cover and simmer on low for 20–25 minutes, stirring occasionally, until rich and creamy. Add more liquid if needed.
- 7. Turn off heat; stir in remaining ½ tsp garam masala, cilantro, and lemon/lime juice. Taste and adjust seasoning. Serve over basmati rice or with warm flatbreads.
Why You’ll Love This Recipe
- Deep, slow-simmered flavor from toasted spices, coconut milk, and tomatoes without any complicated techniques.
- Hearty, naturally vegetarian (and easily vegan) main that satisfies like comfort food but feels nourishing.
- Uses mostly pantry staples, so it is perfect for weeknights or “there’s nothing in the fridge” nights.
- Flexible: serve it over fluffy basmati rice or scoop it up with soft flatbreads for an easy, cozy meal.
Grocery List
- Produce: 1 large yellow onion, garlic, fresh ginger, 1–2 small green chilies (optional), fresh cilantro, 1 lemon or lime
- Dairy: None (use dairy-free sides to keep the meal vegan)
- Pantry: Neutral oil, canned chickpeas, canned diced tomatoes, tomato paste, canned full‑fat coconut milk, vegetable broth or bouillon, ground cumin, ground coriander, ground turmeric, mild paprika or Kashmiri chili, garam masala, sugar, fine sea salt, black pepper, basmati rice and/or flatbreads (naan, roti, or pita)
Full Ingredients
For the Slow-Simmered Chickpea & Tomato Curry
- 2 tbsp neutral oil (such as sunflower, canola, or light olive oil)
- 1 large yellow onion, finely diced (about 2 cups)
- 4 cloves garlic, minced
- 1 tbsp fresh ginger, minced or grated
- 1–2 small green chilies, such as serrano or Thai, finely chopped (optional, adjust to heat preference)
- 1 ½ tsp ground cumin
- 1 ½ tsp ground coriander
- ½ tsp ground turmeric
- 1 tsp mild paprika (or 1 tsp Kashmiri chili powder for more color and gentle heat)
- 2 tsp garam masala, divided (1 ½ tsp for cooking, ½ tsp to finish)
- 1 tsp fine sea salt, plus more to taste
- Freshly ground black pepper, to taste
- 1 x 14.5 oz (400 g) can diced tomatoes (with juices)
- 1 tbsp tomato paste
- 2 x 15 oz (425 g) cans chickpeas, drained and rinsed (about 3 cups cooked chickpeas)
- 1 x 14 oz (400 ml) can full‑fat coconut milk, well shaken
- ½–¾ cup vegetable broth or water, as needed to reach desired consistency
- ½ tsp sugar (optional, to gently balance tomato acidity)
- ½ cup loosely packed fresh cilantro leaves and tender stems, chopped, plus more for garnish
- 1–2 tbsp fresh lemon or lime juice (start with 1 tbsp, add more to taste)
To Serve
- 1 ½ cups uncooked basmati rice (yields about 4–5 cups cooked), rinsed well
- 4–6 warm flatbreads (naan, roti, chapati, or pita), optional
- Extra cilantro leaves, for garnish
- Lemon or lime wedges, for serving (optional)

Step-by-Step Instructions
Step 1: Prep your ingredients and start the rice
Rinse the basmati rice under cold water until the water runs mostly clear. Cook according to package instructions (usually about 1 ½ cups rice to 2 ¼–2 ½ cups water, simmered covered for 15–18 minutes). Once cooked, fluff with a fork, cover, and keep warm.
While the rice cooks, finely dice the onion, mince the garlic and ginger, and chop the green chili (if using). Roughly chop the cilantro and set aside some whole leaves for garnish. Drain and rinse the chickpeas. Open the cans of diced tomatoes and coconut milk so everything is ready to go before you start cooking.
Step 2: Soften and lightly caramelize the onions
In a large, heavy-bottomed pot or deep skillet, heat the neutral oil over medium heat. Add the diced onion and ¼ tsp of the salt. Cook, stirring occasionally, for 8–10 minutes, until the onions are very soft and turning light golden at the edges. If they start to brown too quickly, reduce the heat slightly. This gentle caramelization builds a sweet, savory base for the curry.
Step 3: Add garlic, ginger, and chili
Stir in the minced garlic, ginger, and chopped green chili (if using). Cook for 1–2 minutes, stirring frequently, until fragrant and no longer raw-smelling. Be careful not to let the garlic brown; if needed, reduce the heat. This step layers in fresh, bright aromatics that will sit underneath the warm spices.
Step 4: Toast the spices
Add the ground cumin, ground coriander, turmeric, paprika (or Kashmiri chili), and 1 ½ tsp of the garam masala to the pot. Stir constantly for 30–60 seconds, just until the spices smell toasty and fragrant. If the mixture looks very dry or starts to stick, splash in a tablespoon of water and keep stirring. Gently toasting the spices this way (called “blooming”) unlocks their flavor and makes the curry taste deeper and more complex.
Step 5: Build the tomato base
Add the diced tomatoes with their juices and the tomato paste. Stir well, scraping up any browned bits from the bottom of the pot. Bring to a gentle simmer and cook for 8–10 minutes, stirring occasionally, until the mixture has thickened, darkened slightly in color, and the raw tomato smell has mellowed. If it starts to splatter, partially cover the pot and reduce the heat a little. You are aiming for a thick, jammy tomato-onion base.
Step 6: Add chickpeas, coconut milk, and simmer slowly
Stir the chickpeas into the tomato mixture, then pour in the coconut milk and ½ cup of the vegetable broth or water. Add the remaining ¾ tsp of salt (or to taste), a few grinds of black pepper, and the sugar (if using). Stir until everything is well combined.
Bring the curry to a gentle simmer over medium heat, then reduce the heat to low or medium-low so it is just bubbling softly at the surface. Partially cover the pot and simmer for 20–25 minutes, stirring every few minutes to prevent sticking. If the curry becomes too thick at any point, add a splash or two more broth or water. The goal is a rich, velvety sauce that coats the chickpeas nicely, not a thin soup.
Step 7: Finish with fresh cilantro, garam masala, and citrus
Turn off the heat. Stir in the remaining ½ tsp garam masala, the chopped cilantro, and 1 tbsp lemon or lime juice. Taste the curry and adjust: add more salt if it tastes flat, more lemon or lime juice if it needs brightness, or a pinch more sugar if it is too tangy. If you prefer a creamier texture, you can stir in an extra splash of coconut milk or a tablespoon of plant-based yogurt at this stage (off the heat).
Step 8: Serve with basmati rice or warm flatbreads
Fluff the basmati rice again and spoon it into bowls, or warm your flatbreads in a dry skillet or low oven until soft and pliable. Ladle the hot chickpea and tomato curry over the rice or into shallow bowls for dipping with flatbreads. Garnish generously with fresh cilantro leaves and, if you like, a final squeeze of lemon or lime at the table. Serve immediately while everything is hot and fragrant.
Pro Tips
- Take your time with the onions. Letting the onions soften and barely caramelize is one of the biggest flavor boosts; do not rush this step.
- Bloom the spices, but do not burn them. Once the ground spices go in, keep them moving and add a splash of water if the pan looks dry. Burned spices will make the curry bitter.
- Simmer low and slow. Gentle simmering for at least 20 minutes helps the chickpeas absorb flavor and allows the coconut-tomato sauce to thicken and meld.
- Adjust the thickness at the end. If the curry is too thick, add a bit more broth or water; if it is too thin, simmer uncovered for a few extra minutes.
- Finish with acid and herbs. The final additions of lemon or lime juice and cilantro wake up all the flavors. Do not skip them.
Variations
- Spinach Chickpea Curry: During the last 5 minutes of simmering, stir in 3–4 packed cups of fresh baby spinach or 1 ½ cups thawed, squeezed-dry frozen spinach. Simmer until just wilted and vibrant green.
- Chickpea, Potato, and Cauliflower Curry: Add 2 small waxy potatoes (peeled and diced) and 2 cups small cauliflower florets along with the chickpeas. Increase simmering time by 5–10 minutes, or until the vegetables are tender.
- Extra-Spicy Version: Use a hotter chili, add ½–1 tsp red chili powder or cayenne with the other spices, and finish with a drizzle of chili oil or chili crisp for those who like a real kick.
Storage & Make-Ahead
Let the curry cool to room temperature, then transfer it to airtight containers. It will keep in the refrigerator for up to 4 days and in the freezer for 2–3 months. The flavors often deepen by the next day, making this an excellent make-ahead dish or meal-prep option. Reheat gently on the stovetop over low to medium heat, adding a splash of water or broth if it has thickened too much. Stir occasionally until piping hot. If reheating from frozen, thaw overnight in the fridge first for best texture. Cooked basmati rice can also be refrigerated for up to 4 days; reheat with a tablespoon or two of water, covered, in the microwave or on the stovetop. Flatbreads are best reheated quickly in a dry skillet or low oven just before serving.
Nutrition (per serving)
Approximate values per serving (1/4 of the curry, without rice or flatbreads): about 450 calories; 28 g fat (mostly from coconut milk); 38 g carbohydrates; 12 g protein; 9 g fiber; 700 mg sodium. Actual values will vary based on the exact brands of ingredients used, how much salt you add, and your chosen sides.

