Cook the pasta according to the instructions on the box for al dente in well salted water. Once cooked, drain and set aside.
Heat the olive oil and butter in a stock pot or Dutch Oven over medium heat. Add the carrots, celery, and onions and season with salt and pepper. Cook, stirring often, until the onion are translucent, about 10 minutes.
Next, add in the green beans and zucchini and a pinch of salt. Cook for about 3-5 to soften these vegetables.
Add in the garlic and stir frequently to prevent it from burning. Cook for 2 minutes.
Pour in the white wine and add the tomato paste. You want to cook the tomato paste to draw out its sweetness. Stir often to prevent burning, about 3 minutes.
Stir in the oregano, basil and bay leave for about 1 minute.
Then stir in the diced tomatoes, red beans, and white beans and season with salt and pepper. Cook for about 2 minutes.
Add in he vegetable stock. Turn up the heat and bring it to a boil. Immediately lower the temperature to medium low and simmer for 10 minutes.
Just before you take the soup off the heat, add in the spinach and stir in until it is wilted. Taste the soup to see if additional salt is needed.
To serve, spoon a little bit of cooked shell pasta in the bowl first. Then ladle the soup overtop of the pasta.
Important! Cook the Pasta Separate!
Most recipe for Minestrone Soup tell you to add the pasta directly into the pot you are cooking the soup in. You do not want to do this! Pasta will continue soaking up liquid after it is done cooking. You will be left with a soup with no broth and mushy pasta.