* 2 tablespoons extra-virgin olive oil
* 2 cups chopped onions (2 medium)
* 2 cups chopped celery (4 medium stalks)
* 1 cup chopped green bell pepper (1 medium)
* 4 cloves garlic, minced
* 3 cups chopped cabbage
* 3 cups chopped cauliflower (about ½ medium)
* 2 cups chopped carrots (4 medium)
* 2 cups green beans, cut into 1-inch pieces, or frozen, thawed
* 8 cups low-sodium vegetable broth or chicken broth
* 2 cups water
* 1 (15 ounce) can tomato sauce
* 1 (14 ounce) can diced tomatoes
* 1 (15 ounce) can kidney or pinto beans, rinsed
* 1 bay leaf
* 4 cups chopped fresh spinach or 1 (10 ounce) package frozen chopped spinach, thawed
* ½ cup thinly sliced fresh basil
* 10 tablespoons freshly grated Parmesan cheese
* Heat oil in a large soup pot or Dutch oven (8-quart or larger) over medium heat. Add onions, celery, bell pepper and garlic; cook, stirring frequently, until softened, 13 to 15 minutes. Add cabbage, cauliflower, carrots and green beans; cook, stirring occasionally, until slightly softened, about 10 minutes more.
* Add broth, water, tomato sauce, tomatoes, beans and bay leaf; cover and bring to a boil. Reduce heat and simmer, partially covered, until the vegetables are tender, 20 to 25 minutes. Stir in spinach and simmer for 10 minutes more.
* Discard the bay leaf. Stir in basil. Top each portion with 1 tablespoon cheese.
* To make ahead: Prepare through Step 2 and refrigerate for up to 5 days or freeze for up to 6 months; finish Step 3 just before serving.