1/2 cup chopped parsley + more for garnish if desired
For the cheese topping:
1 cup ricotta cheese
1/2 cup shredded mozzarella
1/4 cup shredded Parmesan cheese
1/4 teaspoon kosher salt
1/8 teaspoon freshly ground black pepper
Set a large soup pot over medium heat. When hot, add the olive oil. Add the onion and cook, stirring occasionally, until soft, about 5 minutes. Add the garlic, Italian seasoning, salt, and pepper and cook, stirring, for one minute. Add the tomatoes and break them up with a sturdy spoon or mash with a masher. Add the vegetable broth, beans, mushrooms, zucchini (if using) and bay leaf. Bring to a boil, then reduce heat to low. Cover and simmer for 10 minutes. Add pasta and cover again. Simmer until the pasta is tender, about 10 minutes more.
While the soup simmers, make the cheese topping. In a small bowl, stir together the ricotta, mozzarella, Parmesan, salt and pepper. Taste and add additional salt and pepper if desired. Set aside.
Remove the bay leaf from the soup. Stir in the spinach and parsley and cook until the spinach is wilted, about one minute. Taste and add additional salt and pepper if desired.
Ladle soup into individual bowls and top with a big dollop of the cheese mixture and a sprinkle of chopped parsley if desired, then serve.