Heat the olive oil in a large pot over medium heat. Add the onion and carrots and cook for 5 minutes until the onion turns soft.
Stir in the garlic and cook for 1 minute until fragrant. Add the shredded cabbage and cook for 4 minutes, stirring now and then, until it starts to wilt.
Pour in the diced tomatoes with their juice, vegetable broth, white beans, thyme, and bay leaf. Bring the mixture to a simmer.
Lower the heat, cover the pot, and cook for 20 minutes until the cabbage is tender. Remove the bay leaf. Taste and add salt and black pepper as needed.