In a large pot or Dutch oven, heat the olive oil over medium heat. Add the Italian sausage and cook until browned, breaking it up into smaller pieces with a wooden spoon, about 5-7 minutes.
Add the diced onion, garlic, carrots, and celery to the pot. Sauté for another 5 minutes until the vegetables are tender and fragrant.
Pour in the chicken broth and bring the mixture to a simmer. Cook for about 10 minutes to allow the flavors to meld.
Reduce the heat to low and stir in the heavy cream and grated Parmesan cheese. Mix until the cheese is fully melted and incorporated.
Add the Italian seasoning, salt, and pepper to taste. Then, gently fold in the fresh spinach and cook for an additional 2-3 minutes until wilted.
Serve hot in bowls, garnished with fresh parsley if desired.
For a spicier kick, use spicy Italian sausage or add red pepper flakes if you prefer.
This soup can be paired well with crusty bread or a simple green salad for a complete meal.
Store leftovers in the refrigerator for up to 3 days and reheat gently on the stove before serving.