In a large pot, heat the olive oil over medium heat. Add the diced onion, carrots, and celery. Sauté for about 5 minutes, or until the vegetables are softened.
Add the minced garlic and Italian sausage to the pot. Cook until the sausage is browned and cooked through, breaking it apart with a spoon as it cooks, about 7-10 minutes.
Pour in the chicken broth and add the diced tomatoes along with their juices. Stir in the Italian seasoning, salt, and pepper. Bring the mixture to a simmer and let it cook for about 10 minutes.
Reduce the heat to low and stir in the heavy cream and grated Parmesan cheese. Mix until the cheese is melted and the soup is creamy.
Add the fresh spinach and cook for an additional 2-3 minutes, just until the spinach is wilted. Adjust seasoning if needed.
Serve hot, garnished with extra Parmesan cheese if desired.