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.
Craving more veg-friendly recipes? Shop our collection of vegetarian and vegan cookbooks, including our new Vegan Thanksgiving and Vegan Christmas cookbooks!