Heat 3 tablespoons oil or ghee in a heavy-bottomed pan over medium heat. Add diced onions and cook for 10-12 minutes, stirring occasionally, until golden brown and edges start to caramelize. This develops natural sweetness that balances spices.
2 medium onions, 3 tbsp oil
Add cumin seeds (or ground cumin), coriander powder, and chili powder to the pan. Stir for 1-2 minutes until fragrant. Then add minced garlic and grated ginger, cooking 1 minute more until raw smell disappears.
1 tsp cumin seeds, 1 tbsp coriander powder, 1 tsp chili powder, 1 tbsp ginger, 4 cloves garlic
Stir in pureed or diced tomatoes and cook on medium-low heat for 8-10 minutes until tomatoes break down and oil separates from the mixture, forming a thick, orange-brown sauce.
3 medium tomatoes
Add drained chickpeas, 1 cup water, salt to taste, and half the garam masala. Bring to a gentle simmer, cover partially, and cook on low heat for 20-25 minutes until chickpeas are tender with slight bite and sauce coats the back of a spoon.
2 cans chickpeas, 1 cup water, 1 tbsp garam masala
Stir in the remaining garam masala and amchur powder or lemon juice. Cook uncovered for 2-3 minutes, then turn off heat and let sit 5-10 minutes. Lightly mash about one-quarter of the chickpeas with a spoon if you want a thicker sauce.
1 tbsp garam masala, 1 tsp amchur powder