In a 10- to 12-inch frying pan over medium-high heat, combine onion, chilies, ginger, and oil; stir often until onion is lightly browned, 6 to 8 minutes.
Add 1/4 cup chopped cilantro, curry powder, garam masala, and sugar; stir until fragrant, about 30 seconds. Stir in garbanzos and all but 1/2 cup of the tomatoes, then add 1/2 cup water. Boil over medium-high heat, stirring often, until tomatoes have disintegrated and most of the liquid has boiled away, about 8 minutes. Remove from heat, stir in 1 cup yogurt, and season to taste with salt.
Pour into a bowl; top with remaining chopped cilantro, chopped tomatoes, and more yogurt to taste.