Heat vegetable oil in a large pot over medium heat.
Add diced onion and minced garlic. Sauté until onion is slightly softened, about 5 minutes.
Add cinnamon, cardamom, cumin, turmeric, ginger, cayenne pepper, and salt. Sauté for 1-2 minutes until fragrant.
Add cubed potatoes, sliced carrots, drained chickpeas, diced tomatoes, and vegetable broth.
Bring to a simmer, then reduce heat to low.
Cover and cook for 20-25 minutes until potatoes are tender.
Add additional vegetable broth if needed during cooking to prevent sticking.
Taste and adjust seasoning before serving.