Soak the beans overnight or for at least 8 hours.
In a large pot, heat the olive oil over medium heat and sauté the onions, carrots, and celery until softened.
Add the garlic and thyme, cooking for an additional minute until fragrant.
Pour in the soaked and drained cannellini beans along with the broth and bay leaf.
Bring the mixture to a boil, then reduce to a simmer. Cover and cook for about 60-75 minutes, or until the beans are tender.
Add the chopped kale or spinach and season with salt and pepper to taste.
Remove the bay leaf and taste the soup again, adjusting seasonings as necessary before serving.