Sauté the aromatics: Heat olive oil in a large pot over medium heat. Add garlic, onions, carrots, and celery. Sauté for 5 minutes until the vegetables soften.
Add the tomatoes: Stir in the cherry tomatoes and cook for another 2 minutes until they start to break down.
Pour in the broth and seasonings: Add the white beans, vegetable broth, salt, black pepper, oregano, and red pepper flakes (if using). Stir well to combine.
Simmer the soup: Bring the soup to a gentle boil, then reduce the heat and let it simmer for 10-15 minutes to allow the flavors to meld.
Stir in the spinach: Add the fresh spinach and stir until it wilts, about 1-2 minutes.
Finish with Parmesan: Remove from heat and stir in the grated Parmesan cheese. Taste and adjust seasoning if needed.
Serve and enjoy: Ladle into bowls and garnish with extra Parmesan and freshly ground black pepper.