Heat olive oil and bacon and cook until bacon bits are almost crisp. Add onions, celery and carrots and saute for about 10 minutes or until soft. Add the garlic, zucchini, tomatoes, cabbage, spinach and cook for about 10 minutes longer or until wilted. (If vegetables begin to stick, add some water.) Add the bean puree and whole beans, basil, broth, water and 1 teaspoon of salt. Bring liquid to a boil, and simmer, over low heat, stirring on occasion, for 20 minutes. Season well to taste with salt and pepper and ladle into hot deep bowls. Garnish with grated cheese to taste.