Heat the oil in a large, heavy soup pot over medium-high heat and add the onion, celery, carrot, kale, and cabbage. Cook, stirring, until tender, about 5 minutes. Add some of the water to soften and steam the vegetables and let it evaporate while the vegetables soften.
When the vegetables are soft, add in the garlic, oregano, thyme, and bay leaf. Stir together for about a minute and stir in the tomatoes with their juice.
Add the 3 cups of vegetable or chicken stock and the Parmesan cheese rinds. Bring to a boil, reduce the heat, cover and simmer for at least 30 minutes.
Add the white beans and balsamic vinegar. Adjust the seasoning with salt and pepper. When ready to serve, remove the Parmesan cheese rinds.
Drizzle each bowl with pesto, if desired.