Rinse and sort through the beans to remove any pebbles. Put beans in a large bowl; cover with 3 cups of boiling water. Soak beans for 1 hour. Drain beans in a colander and reserve.
Heat olive oil in a large, heavy pot (with a lid) over medium-high heat. When hot, add the onion, leek, carrot, and celery and sauté until just softened, for 3 to 4 minutes. Add minced garlic and rosemary and sauté 1 minute more.
Add 8 cups water, the reserved beans, tomatoes, cabbage, and 1½ tbsp salt. Bring to a boil, then reduce heat and cook at a simmer, covered, for 1 hour.
Add potatoes, zucchini, and chard; simmer, covered, until the potatoes and zucchini are tender and the chard has wilted, for 20 to 25 minutes.
Taste soup and season with salt, as needed.
When ready to serve, lightly toast the bread slices, then rub each piece on both sides with a cut garlic clove. Either place 1 bread slice in the bottom of 6 soup bowls and ladle soup over or ladle soup into 6 bowls and top each with a bread slice. Garnish each with Parmesan cheese and a drizzle of olive oil.