In a large pot or Dutch oven, heat olive oil over medium heat. Add onion, carrots, and celery, and cook for about 5 minutes, or until vegetables begin to soften. Stir in garlic and cook for 1 more minute.
Add diced chicken to the pot and season with salt, pepper, and Italian seasoning. Cook for 5–7 minutes, stirring occasionally, until the chicken is lightly browned (it doesn't need to be fully cooked yet).
Pour in the chicken broth and bring the soup to a gentle boil. Stir in the pasta and reduce heat to a simmer. Cook for about 10 minutes, or until the pasta is tender and the chicken is cooked through.
Lower the heat and stir in the heavy cream and spinach. Let it simmer for 2–3 more minutes, just until the spinach wilts. Stir in Parmesan cheese if using, for extra creaminess.
Taste and adjust seasoning with more salt or pepper, if needed. Ladle into bowls and serve warm with crusty bread or a sprinkle of extra cheese on top.