Heat the olive oil in a large pot over medium heat. Add the onion and cook for 4 minutes until it softens. Stir in the garlic and cook for 1 minute more.
Add the cumin, paprika, cinnamon, and cayenne pepper. Stir for 30 seconds to toast the spices.
Pour in the chickpeas, diced tomatoes, and vegetable broth. Bring the mixture to a simmer and cook for 10 minutes.
Add the fish pieces to the pot. Simmer gently for 5 to 7 minutes until the fish turns opaque and flakes easily.
Season with salt and black pepper. Stir in the lemon juice, then remove the pot from the heat. Sprinkle with cilantro before serving.