Chop your carrots, celery, yellow onion, and zucchini to around 1/2 inch pieces. Mince 3 cloves of garlic as well.
Add 2 tablespoons olive oil and 1 tablespoon butter to a large 6-quart soup pot over medium heat.
Once hot and melted, add the chopped onion, carrots, celery and garlic. Cook for about 5 minutes, stirring frequently, until softened.
Pour 1 28 oz can of diced tomatoes including all the juices into the pot. Use a wooden spoon to break up any large pieces.
Add 6 cups of low sodium chicken broth and your can of drained and rinsed cannellini beans. Stir well to incorporate.
Bring the soup to a boil, then reduce to a simmer. Season with 2 tablespoons Italian seasoning, 1 teaspoon oregano, 1/2 tsp kosher salt, and 1/4 tsp black pepper. Taste and add more seasoning if desired.
Add the 1 1/2 cups of pasta shells and cook for 8-10 minutes until al dente, stirring occasionally.
Mix in spinach - Remove from heat and stir in 3 cups of chopped spinach until it wilts.
Ladle the minestrone into bowls and top with grated Parmesan cheese, a drizzle of olive oil, and crusty bread.