Heat a large heavy-bottomed pot over medium heat and add 2 tablespoons of olive oil, heating until shimmering.
Add 1 large chopped yellow onion, 2 diced carrots, and 2 diced celery stalks. Sauté, stirring occasionally, for 8–10 minutes until the onion is translucent and the vegetables soften.
Stir in 3 minced cloves of garlic and cook for 1 minute until fragrant, taking care not to burn.
Pour in 1 (28-ounce) can of diced tomatoes (undrained), 6 cups of vegetable broth, 1 teaspoon of dried oregano, and 1 teaspoon of dried basil. Stir to combine and bring to a gentle boil.
Reduce heat to low, cover, and simmer for 10 minutes to meld flavors.
Add 2 peeled and diced medium potatoes and 1 (15-ounce) can of rinsed and drained cannellini beans. Increase heat to medium-low and simmer, uncovered, for 10–15 minutes until the potatoes are tender.
Stir in 1 cup of small pasta and 1 cup of trimmed, 1-inch pieces of fresh green beans. Cook for 8–10 minutes until pasta is al dente and green beans are crisp-tender.
Remove from heat and stir in 5 ounces of roughly chopped fresh spinach, allowing it to wilt in the residual heat.
Season generously with salt and freshly ground black pepper to taste and give the soup a final stir.
Ladle into bowls and serve topped with a generous sprinkle of freshly grated Parmesan cheese and crusty bread on the side.