Heat the olive oil in a large pot or Dutch oven over medium heat.
Add the diced onion, carrots, and celery to the pot. Sauté for about 5-7 minutes, or until the vegetables begin to soften.
Stir in the minced garlic and cook for 1 additional minute until fragrant.
Pour in the vegetable broth and add the canned diced tomatoes, kidney beans, black beans, cumin, coriander, paprika, salt, pepper, and bay leaves. Stir well to combine.
Bring the soup to a gentle boil, then reduce the heat to low. Cover the pot and let it simmer for about 30 minutes.
After 30 minutes, add the chopped spinach or kale and stir. Simmer for an additional 5 minutes, allowing the greens to wilt.
Before serving, remove the bay leaves and taste the soup. Adjust seasoning if necessary.
If desired, stir in lemon juice for added brightness.
Serve hot, ladling the soup into bowls. Enjoy!