Heat olive oil in a large pot over medium heat until it shimmers slightly. Add onions and sauté for 3-4 minutes until translucent.
Add garlic to the pot and stir for 30 seconds until fragrant. Then add carrots and bell pepper, cooking for 5 minutes until they begin to soften.
Sprinkle in cumin, smoked paprika, coriander, and cayenne (if using). Stir continuously for 1 minute to toast the spices, releasing their essential oils.
Add chickpeas, diced tomatoes, and vegetable broth. Bring the mixture to a boil, then reduce heat to maintain a gentle simmer. Cover partially and cook for 25-30 minutes.
Stir in fresh spinach in batches, allowing each addition to wilt before adding more. Squeeze in fresh lemon juice and season with salt and pepper to taste.
Serve hot, garnished with fresh cilantro or parsley.