Heat the olive oil in a large pot over medium heat. Add the onion, garlic, and carrots and cook for 5 minutes until the onion turns soft.
Stir in the cumin, smoked paprika, cayenne pepper, and cinnamon and cook for 1 minute until the spices smell fragrant.
Add the chickpeas, diced tomatoes, and vegetable broth. Bring the mixture to a boil, then reduce the heat and simmer uncovered for 20 minutes.
Season with salt and pepper. Stir in the lemon juice right before serving.
Ladle the soup into bowls and top each portion with chopped cilantro.