Drizzle 2 teaspoons of olive oil into the bottom of a large soup pot and bring over medium heat. Add the sausage and cook, breaking it up into small pieces with a cooking spoon or spatula as it browns. Remove the sausage to a side plate when cooked.
Drizzle the remaining 2 teaspoons of olive oil into the pot and allow the oil to heat. Add the onion, carrots, and celery and cook for 5-7 minutes until softened. Add the garlic and cook for another 30-60 seconds.
Stir in the broth, water, crushed tomatoes, tomato sauce, beans, salt, Italian seasoning, oregano, basil, thyme, pepper, bay leaf, and the cooked sausage from step one. Increase the heat to bring the mixture to a boil. Once boiling, reduce the heat to med-low to simmer and simmer for 5 minutes.
Stir in the pasta and simmer over med-low heat for 8-10 minutes until the pasta is cooked. With about 3 minutes left in the cook time, stir in the spinach to allow it to wilt.
Remove the pot from heat. Locate and discard the bay leaf. Stir in the Parmesan cheese until it melts into the soup. Soup will thicken upon standing.