Step-by-Step Instructions
Step 1 — Caramelize the Onion with Cumin Seeds
Heat the 2 tablespoons of olive oil in your large skillet over medium heat. Add the diced onion and the 1 teaspoon of cumin seeds together. Cook for 8–12 minutes, stirring occasionally, until the onions turn deeply golden and develop browned edges and the cumin seeds become fragrant and slightly darker.
This step takes patience. The temptation to turn up the heat and rush the onions is real and you should resist it completely. Medium heat over sufficient time is what produces that deep golden color and concentrated sweetness. High heat burns the outside while leaving the inside raw and sharp-tasting. Give the onions their full time and the sauce rewards you for it.
Step 2 — Add Garlic and Ginger
Add the minced garlic and grated ginger to the pan. Stir constantly and cook for 1–2 minutes until the mixture becomes intensely fragrant. The garlic and ginger hit the hot oil and start releasing their aromatic compounds immediately your kitchen will smell extraordinary at this moment.
Don't walk away during this step. Garlic burns in the same time it takes to answer a quick text, and burned garlic creates a bitter note that carries through the entire finished dish. Keep stirring and keep the heat at medium.
Step 3 — Bloom the Spices
Add the garam masala, turmeric, cayenne, coriander (if using), and salt to the pan all at once. Stir constantly for 1–2 minutes until the spices coat the onion and garlic mixture and become intensely fragrant. The pan will look very dry during this step that's expected. The spices are toasting in the residual oil and drawing flavor out of every granule.
Blooming spices directly in oil with aromatics is the single technique that distinguishes good Indian-style cooking from mediocre Indian-style cooking. The difference in final flavor between bloomed spices and spices added directly to liquid is significant and immediately noticeable. This step takes 2 minutes. It's worth every second.
Step 4 — Build the Tomato Sauce
Pour in both cans of diced tomatoes with all their juices. Stir well to incorporate the spiced onion base throughout the tomatoes. Cook for 4–5 minutes, stirring occasionally, until the tomatoes soften, break down partially, and start becoming saucy. The mixture should begin to smell like an actual curry sauce rather than individual components at this point.
Step 5 — Add the Chickpeas and Coconut Milk, Then Simmer
Stir in the tomato paste, both cans of drained and rinsed chickpeas, and the can of coconut milk. Stir everything together thoroughly until the coconut milk incorporates evenly and the sauce becomes uniformly creamy and rich-looking.
Bring the pot to a gentle simmer not a rolling boil, just small, lazy bubbles breaking the surface. Cover and cook for 25–30 minutes, stirring occasionally, until the chickpeas have absorbed some of the surrounding sauce and become deeply flavored throughout. The sauce should thicken noticeably during this time.
Keep the heat genuinely low during this simmering stage. Coconut milk at a rolling boil can separate and become grainy. A gentle simmer keeps it creamy and smooth throughout the long cook.
Step 6 — Taste, Adjust, and Serve
Remove the lid and taste the marsala. Adjust seasoning more salt, more cayenne for heat, a pinch more garam masala if the flavor needs more warmth and complexity. Stir in any adjustments and cook uncovered for 2–3 more minutes.
Serve over your grain of choice and scatter fresh cilantro generously over each bowl.