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 beans. Bring to a simmer and cook for about 40 minutes. Season with salt and pepper to taste.
Preheat oven to 180 degrees C. In a 4 litre casserole dish, place 1/3 of the mixture over the bottom. Layer three 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 minutes or until soup is bubbling and cheese is light golden.