Melt the butter with the olive oil in a large Dutch oven over medium heat. Add the onion, carrots, and celery. Cook for 7–8 minutes, stirring occasionally, until the onion is translucent and the carrots begin to soften. Add the garlic and cook for 30 seconds, until fragrant.
Sprinkle the flour over the vegetables. Stir constantly for 1–2 minutes. Slowly pour in 1 cup of chicken broth, whisking until smooth and scraping the bottom of the pot. Gradually whisk in the remaining 4 cups of broth.
Add the chicken breasts, Italian Seasoning, salt, and pepper. Bring the soup to a gentle simmer, then adjust the heat to maintain it. Cook for 12–18 minutes, depending on the thickness of the breasts, until the thickest part reaches 165°F. Transfer the chicken to a cutting board. Rest for 5 minutes, then shred or cut into bite-size pieces. Return the soup to a gentle simmer and stir in the gnocchi. Cook according to the package directions, usually 2–5 minutes. Taste a piece to make sure its center is tender.
Reduce the heat to low. Stir in the half-and-half, spinach, and chicken. Heat gently for 2–3 minutes, until the spinach wilts and the chicken is hot. Remove the pot from the heat and stir in the Parmesan. Taste and add more salt if needed. If the soup needs brightness, stir in 1 tsp lemon juice, taste again, and add the second teaspoon if desired. Serve with additional Parmesan.