In a large pot or dutch oven, heat the olive oil and butter over medium heat. Add the chopped onion, celery, and carrot. Cook for about 4-5 minutes or until the veggies soften.
Add zucchini, green beans, and garlic. Cook for another 2-3 minutes. Add salt and pepper to taste.
Pour in the can of diced tomatoes, tomato paste, vegetable stock, and Italian seasoning. Mix well.
Add the pasta, drained white beans, and kidney beans.
Bring to a boil, then reduce heat and let the soup simmer for 10-12 minutes or until the pasta is cooked.
Stir in the fresh spinach leaves and cook until they wilt, which should take about 2 minutes.
Give the soup a taste and add more salt and pepper if needed. Ladle the soup into bowls and serve hot. Garnish with grated parmesan and fresh parsley if desired. Serve with crusty bread.