Heat oil in a large pot or Dutch oven over medium heat. Add the onion and cook, stirring occasionally, until softened and starting brown, about 10 minutes. You can cook longer to caramelize for deeper flavor is preferred.
Add the chilies, garlic, and ginger to a food processor. Process to form a paste. Alternatively, you can use a mortar and pestle.
Add the chili-garlic puree to the pot and stir. Cook for 1 minute to develop the flavor.
Stir in 1 teaspoon garam masala, cumin, coriander, chili powder, and turmeric. Cook for 30 seconds, or until fragrant, stirring constantly.
Add the diced tomatoes with their juices, breaking them up with a spoon.
Stir in the chickpeas, water or broth, and salt and pepper to taste. Bring to a simmer, then reduce heat and cover partially.
Simmer for 20-25 minutes, or until the sauce has thickened and the flavors have developed.
Remove from heat and stir in the remaining garam masala, lemon juice, and chopped fresh cilantro.
Serve hot over rice, naan, or your favorite Indian flatbread.