Melt the ghee in a large skillet over medium heat. Saute ginger and garlic in the ghee mixture until lightly browned, approximately 5 minutes. Add onion and continue to saute until onion is soft and translucent, about 5 minutes.
Mix curry powder, cumin, coriander, chili powder, garam masala and turmeric together in a bowl then add to skillet and stir. Add a little water into the skillet to get the mixture to be paste-like, for about 30 seconds.
Stir yam, garbanzo beans, 1 cup of water, and salt into the skillet and cook at a simmer until the yam is tender, about 10 minutes. Thin the mixture with more water if too thick.
Stir in tomatoes in into the skillet, bring to a boil, cook until the liquid reduces to a thick gravy, about 5 minutes. Garnish with cilantro.