Cook the pasta according to package directions, then set aside.
1 cup dry ditalini
Heat olive oil in a large, heavy-bottomed pot over medium heat. Add the carrots and celery, cooking until slightly softened, about 5 minutes. Add the garlic and sauté until just fragrant, about 30 seconds.
2 tbsp olive oil, 1 large carrot, 2 large celery stalks, diced, 2 tbsp minced garlic
Add the tomatoes, beans, spices, and chicken broth, bringing everything to a steady simmer. Reduce the heat to low, cover, and cook for 20 minutes.
1 can (28 oz) diced tomatoes, 1 can (15 oz) fire roasted crushed tomatoes, 1 can (15 oz) red kidney beans, 1 can (15 oz) garbanzo beans, 2 tsp onion powder, 1-1/2 tsp Italian seasoning, 1 tsp dried basil leaves, 1/2 tsp red pepper flakes, 4 cups (32 oz) low-sodium chicken broth
Add the zucchini and rice vinegar, then simmer, covered, for another 10 minutes. Turn off the heat and stir in the spinach. Taste and season with salt and pepper, if desired.
1 large zucchini, diced, 2 tsp rice vinegar, 2 cups fresh, uncooked spinach leaves, salt and pepper to taste
Serve each bowl of soup with 1/4 cup of cooked pasta and a grating of Parmesan on top.
Parmesan cheese for garnish