To begin soak your beans overnight in water to cover them by two inches. If you want to avoid having to soak beans canned beans are a great option if you are in a time crunch.
Drain the beans and place in a saucepan. Fill the pan with fresh water to cover the beans them by two inches and simmer uncovered for 45 minutes to 1 hour until the beans are tender. Set aside to cool.
In a large Dutch oven cook the bacon over moderate heat. Continue stirring until the bacon is crisp.
Add the onions and continue to stir until the onions soften.
Add the carrots, celery, and garlic. Cook the mixture for an additional five minutes.
Add the zucchini and potatoes stir for another five minutes.
Add the cabbage and spinach. Continue to stir until the cabbage is wilted.
Add the grape tomatoes, crushed tomatoes and the chicken broth. Bring the soup to a simmer, cover, for one hour.
While the soup is simmering drain the beans and reserve one cup of the cooking liquid. With a blender or emersion blender measure 1/2 the beans and the one cup of liquid reserved and puree the beans until smooth.
Once the soup is done simmering add the bean puree (as a thickener) and the last 1/2 of the beans that were not pureed to the soup. Stir to combine and allow the soup to simmer for an additional 15 minutes.
When serving top each plate with parmesan cheese and add fresh French bread.