Heat the oil in a large skillet or heavy-bottomed pot over medium heat. Add the chopped red onion and saute until golden brown and softened, about 5 to 7 minutes.
Stir in the minced garlic, freshly grated ginger, and sliced green chili. Cook for 1 to 2 minutes, stirring frequently until highly fragrant.
Add the cumin, coriander, turmeric, and half of the garam masala to the skillet. Toast the spices in the oil for about 30 seconds to bloom their flavors.
Pour in the crushed tomatoes and stir well to combine. Bring the mixture to a gentle simmer and let it cook for 5 minutes to thicken the curry sauce.
Add the rinsed chickpeas to the pot, stirring to coat them evenly in the spiced tomato sauce. Cover the pot and simmer for 15 minutes. If the sauce becomes too thick, add a small splash of water or vegetable broth.
Remove the skillet from the heat. Stir in the cream or yogurt to add richness, then fold in the remaining half of the garam masala.
Garnish generously with freshly chopped cilantro. Serve warm alongside soft naan bread or basmati rice.