Heat a large pot or Dutch oven over medium heat and add the olive oil and butter.
Add the diced onions, celery and carrots and sauté for 4-5 minutes. Add the garlic and continue to sauté for another 2-3 minutes.
To the pot, add the remaining ingredients except for the pasta, basil and spinach and bring to a boil.
When the soup is boiling, add the pasta and cook for another 12-15 minutes or until the pasta and vegetables are tender.
Add the spinach and fresh basil in the last 2 minutes of cooking.
Top the soup with parmesan and more fresh basil and serve.