Heat olive oil in a large pot over medium heat. Add diced onion, carrots, and celery. Sauté for about 5 minutes until softened.
Stir in zucchini, red and yellow bell peppers, jalapeño, and garlic. Cook for another 3 minutes.
Sprinkle cumin, rosemary, and paprika over the vegetables. Stir and cook for 1–2 minutes to release their aroma.
Pour in the vegetable stock, then add tomato paste, corn, chickpeas, diced tomatoes, and bay leaves. Stir to combine.
Bring the soup to a gentle boil, then lower the heat and let it simmer for 20–25 minutes, stirring occasionally.
Stir in the cooked brown rice and fresh baby spinach. Cook for 5 minutes until the spinach is wilted.
Stir in the lime juice and season with salt and pepper. Remove bay leaves before serving.
Ladle the soup into bowls and garnish with fresh herbs or lime wedges, if desired.