In a large pot or Dutch oven, heat the olive oil over medium heat.
Add the diced onion and sauté for about 5 minutes until translucent.
Stir in the minced garlic and cook for an additional minute, being careful not to burn it.
Add the diced carrots and celery, cooking for about 5 more minutes until softened.
Incorporate the zucchini and bell pepper, cooking for another 5 minutes.
Add the cannellini beans, diced tomatoes (with their juice), vegetable broth, dried thyme, dried basil, bay leaf, salt, and pepper. Bring the mixture to a boil.
Once boiling, reduce the heat to low and let it simmer for 20 minutes.
Add the chopped kale or spinach and continue cooking for an additional 5 minutes until wilted.
Remove the bay leaf before serving. Adjust seasoning with additional salt and pepper if needed.
Serve hot, garnished with grated Parmesan cheese if desired.