Place beans in a large saucepan with water to cover by 2 inches and bring to a boil. Boil for 2 minutes, remove from heat and let sit, covered, for 1 hour before using. Drain and rinse well.

In a large stockpot, warm the olive oil over moderate heat. Add the bacon and salt pork, and cook until the fat is rendered (7 to 8 minutes). Add the garlic, parsley, basil, thyme, oregano, rosemary and red pepper flakes. Cook, stirring occasionally, for 2 minutes. Stir in the cabbage, Swiss chard, leek and celery. Cover and cook until soft (about 5 minutes).

Stir in the drained beans, tomatoes and 2 quarts of water. Bring to a boil over high heat. Reduce the heat to moderately low, cover and simmer for 30 minutes. Stir in the potatoes and carrot, cover and cook until tender (about 30 minutes). Stir in the zucchini and salt and cook for 15 minutes longer. (The soup will keep for up to a week covered and refrigerated. Reheat before serving.) Serve in bowls with a sprinkling of Parmesan and black pepper.