Heat olive oil in a large skillet over medium heat.
Add the onion and sauté until it turns translucent and starts to brown, about 5 minutes.
Stir in the garlic, ginger, and green chili (if using), and cook for another 2 minutes until fragrant.
Add the ground coriander, cumin, turmeric, garam masala, and cayenne pepper (if using). Cook for 1 minute, stirring constantly to prevent burning.
Pour in the crushed tomatoes and add the chickpeas. Stir well to combine.
Season with salt to taste. Bring the mixture to a simmer and let it cook for 20 minutes, stirring occasionally.
If the curry is too thick, add a little water to reach your desired consistency.
Garnish with fresh cilantro before serving.
Serve hot with cooked rice or warm naan bread.