Place the onions and garlic into a large pot with 1/4 cup water. Cook, covered, over low heat until tender, about 10 to 12 minutes, adding more water as necessary to prevent scorching.
Stir in the turmeric, cinnamon, curry, cumin, nutmeg, red pepper flakes, salt and pepper. Cook for 3 minutes. Stir in the sweet potatoes, bell pepper, eggplant and broth. Raise the heat to medium and bring to a boil. Reduce heat to low and simmer, covered, for 5 minutes.
Add garbanzo beans and tomatoes, and simmer, covered, until sweet potatoes are tender, about 45 to 60 minutes, stirring occasionally. Garnish with fresh cilantro before serving.