In a large, heavy-bottomed pot, heat the olive oil over medium heat. Once hot, add the diced onion, carrot, and celery. Sauté the mixture for about 5-7 minutes, stirring occasionally, until the vegetables are tender and the onion becomes translucent.
Add the minced garlic to the pot and continue to sauté for an additional minute, until the garlic is fragrant and lightly golden.
Incorporate the Italian sausage, breaking it into smaller pieces using a wooden spoon. Cook the sausage for around 8-10 minutes or until it is nicely browned and fully cooked, stirring often to ensure even browning.
Pour in the canned diced tomatoes (with their juices), chicken broth, dried oregano, dried basil, and a generous pinch of salt and pepper. Stir well to combine all the ingredients. Increase the heat to bring the mixture to a boil, then reduce the heat and let it simmer gently for 10-15 minutes, allowing flavors to meld.
After simmering, add the chopped fresh spinach to the soup. Cook for an additional 2-3 minutes, or until the spinach has wilted and brightened in color.
Slowly pour in the heavy cream while stirring to combine. Allow the soup to heat for another 2-3 minutes until warmed through. Taste and adjust seasoning with more salt and pepper as needed.
Remove the pot from the heat. Ladle the creamy soup into bowls and generously sprinkle with grated Parmesan cheese. Garnish with fresh basil leaves if desired for a touch of color and flavor.
Notes
Pair the soup with crusty bread or a light salad for a complete meal. Enjoy while warm!