In a Dutch oven or large soup pot, heat olive oil over medium heat, add onion and sauté for about 2 minutes, then add carrots and celery, continue cooking for 3 minutes to begin softening the vegetables, then add garlic and sauté for another minute.
Stir in basil, oregano, and thyme. Add tomatoes, vegetable broth, salt and pepper. Bring soup to a low boil, then reduce the heat to a simmer. Cover with a lid and simmer for 20 minutes stirring occasionally.
Add the pasta and cannellini beans. Cook uncovered for 10 minutes until the pasta is al dente, stirring to avoid the pasta from sticking to the bottom of the pot.
Add spinach and cook for another 2 minutes until the spinach has wilted. Season with salt and red pepper flakes if desired.
Garnish with parsley, fresh basil and Parmesan cheese. Serve it with crusty bread, crostini or sourdough bread. Enjoy!