Heat olive oil in a large pot or Dutch oven over medium heat. Add the onion and sauté for 5 minutes until softened.
Add garlic and cook for another minute until fragrant.
Toss in the carrots, celery, and potatoes. Cook for 5 minutes, stirring occasionally.
Add all the beans, diced tomatoes, vegetable broth, thyme, rosemary, and bay leaves. Stir well to combine.
Bring the stew to a boil, then reduce heat to low and simmer covered for 30 minutes until vegetables are tender.
Stir in the kale or spinach and cook for another 5 minutes until wilted.
Remove bay leaves, season with salt and pepper to taste, and serve hot. Store leftovers in the fridge for an even better meal tomorrow!