Place the presoaked cannellini beans in a medium stockpot. Add water to just cover the beans and bring the water to a boil over high heat. Lower the heat and let the beans simmer until tender, about 1 hour.
In a 12-inch saute pan, heat the oil over medium-high heat until hot but not smoking. Add the onion, leek, carrot, celery, sliced garlic, and herbs. Cook, stirring occasionally, until the vegetables begin to soften, about 5 minutes. Add the black and white cabbages and cook until the cabbage has softened and the flavors have blended, about 10 minutes. Salt and pepper, to taste. Remove the sprigs of rosemary and thyme and the bay leaf. Add the tomato paste, and stir until the tomato paste is well distributed throughout the vegetable mixture.
Preheat the grill or broiler.
Add the vegetable mixture to the pot with beans and water and let simmer until the flavors are well blended, about 30 minutes more. When the soup is close to being done, toast or grill the bread until both sides are browned. Cut the remaining garlic clove in half, and rub the toasted bread with the cut end of the garlic. Discard the garlic.
Serve the soup hot in 4 warmed bowls with the garlic bruschetta on the side. Garnish with a sprinkling of Parmigiano, to taste.