Heat oil in a large pot on medium-low heat. Add onion and cook gently for about 5 minutes, stirring constantly, until softened and fragrant.
Stir in tomato paste, zucchini, carrots, celery, beans, garlic, basil and oregano. Mix well and continue to cook for 10 minutes turning over from time to time to keep the veggies from sticking to the pot.
Stir in tomatoes, pasta and vegetable stock. Turn up temperature and bring to the boil, then reduce heat to low and let simmer for 10 minutes until the vegetables are tender when pierced with a fork. If you find the broth to be a little too thick add a bit more stock or water to thin.
Remove pot from heat and stir in spinach and half the Parmesan – the spinach will wilt quickly with no additional cook time required. Season with salt and freshly ground pepper to taste. Transfer to serving bowls, sprinkle with shredded basil and remaining Parmesan. Serve hot.