Soak the zucchini in a large bowl filled with cold water for at least 20 minutes, then rinse them clean of any remaining grit as described below. Trim both ends on each zucchini and dice the zucchini fine.
Choose a stockpot that can comfortably accommodate all the ingredients. Put in the oil, butter, and sliced onion and turn on the heat to medium low. Cook the onion in the uncovered pot until it wilts and becomes colored a pale gold, but no darker.
Add the diced carrots and cook for 2 to 3 minutes, stirring once or twice. Then add the celery, and cook, stirring occasionally, for 2 or 3 minutes. Add the potatoes, repeating the same procedure.
While the carrots, celery, and potatoes are cooking, soak the green beans in cold water, rinse, snap off both ends, and dice them.
Add the diced green beans to the pot, and when they have cooked for 2 or 3 minutes, add the zucchini. Continue to give all ingredients an occasional stir and, after another few minutes, add the shredded cabbage. Continue cooking for another 5 to 6 minutes.
Add the broth, the optional cheese crust, the tomatoes with their juice, and a sprinkling of salt. If using canned broth, salt lightly at this stage, and taste and correct for salt later on. Give the contents of the pot a thorough stirring. Cover the pot, and lower the heat, adjusting it so that the soup bubbles slowly, cooking at a steady, but gentle simmer.
When the soup has cooked for 2-1/2 hours, add the drained, cooked cannellini beans, stir well, and cook for at least another 30 minutes. If necessary, you can turn off the heat at any time and resume the cooking later. Cook until the consistency is fairly dense. Minestrone ought never to be thin and watery. If you should find that the soup is becoming too thick before it has finished cooking, you can dilute it a bit with some more homemade broth or, if you started with canned broth, with water.
When the soup is done, just before you turn off the heat, remove the cheese crust, swirl in the grated cheese, then taste and correct for salt.