In a large saucepan, heat the olive oil over medium heat. Cook the onions, garlic, celery and carrot until the onion is soft.
Stir in bay leaf, parsley, chicken stock, water, tomatoes, thyme, cabbage, potato, and cooked beans. Bring to a simmer and cook for about 40 minutes, or until beans are tender. Season with salt and pepper to taste.
Preheat oven to 175 degrees C (350 degrees F). In a 4 litre casserole dish, place 1/3 of the mixture over the bottom. Layer 3 of the stale pieces of bread over the top. Place another 1/3 of the soup mixture over the bread followed by remaining 3 slices of bread. Top with remaining 1/3 of soup.
Sprinkle with Parmesan cheese and bake for 30-40 minutes, or until soup is bubbling and cheese is light golden.