In a large stockpot or Dutch oven, heat the olive oil over medium heat.
Add the diced onions, minced garlic, and bay leaves.
Cook for 10 minutes, stirring often, until the onions soften and become translucent.
Add the sliced mushrooms and continue to cook for another 10 minutes until they have released their liquid and started to brown.
Stir in the shredded cabbage, diced potatoes, vegetable stock, tamari, butter, thyme, and 1 teaspoon (5 ml / 0.2 fl oz) of salt.
Season generously with black pepper.
Bring the mixture to a boil, then reduce the heat to low, cover, and let it simmer for at least 1 hour, or until all the vegetables are very tender.
While the soup simmers, prepare the toasts.
Preheat your broiler. Rub one side of each slice of French bread with the cut side of the garlic clove.
Arrange the bread on a baking sheet and broil for 1-2 minutes per side, until golden and crisp. Watch carefully to prevent burning.
Once the soup is ready, remove the bay leaves and taste, adjusting salt and pepper as needed. To serve, place one or two slices of the garlic toast in the bottom of each oven-safe bowl.
Top generously with grated Gruyère cheese. Ladle the hot soup over the cheese and bread.
Sprinkle with Parmesan cheese and serve immediately. For a classic gratinée finish, ladle the soup into the crocks first, top with the bread and cheese, and place under the broiler for a few minutes until the cheese is bubbly and golden.