Pat the chicken pieces dry and season with 1/2 tsp salt, 1/4 tsp black pepper, and 1/2 tsp Italian seasoning. Heat 1 tbsp olive oil in a large deep skillet or Dutch oven over medium-high heat. Add the chicken in a single layer and sear until golden on all sides, about 4-5 minutes. The chicken does not need to be fully cooked through. Transfer to a plate and set aside.
Reduce heat to medium. Add the remaining 1 tbsp olive oil to the same pot. Sauté the onion until softened, about 3 minutes. Stir in the garlic and cook until fragrant, about 30 seconds, scraping up any browned bits from the bottom.
Pour in the chicken broth, heavy cream, and remaining 1/2 tsp Italian seasoning, red pepper flakes (if using), and a pinch of salt. Stir in the sun-dried tomatoes. Add the penne pasta and stir well to submerge. Bring to a gentle boil.
Cover the pot, reduce heat to low, and simmer for 10–12 minutes, stirring once halfway, until pasta is al dente and most liquid is absorbed. The mixture should be creamy and slightly saucy.
Return the seared chicken (and any accumulated juices) to the pot. Continue to cook over medium-low heat, stirring occasionally, until chicken is fully cooked and reaches an internal temperature of 165°F (74°C), about 3-5 minutes. Fold in the fresh spinach one handful at a time until wilted, about 1-2 minutes. Stir in the grated Parmesan until melted and creamy. Taste and adjust salt and pepper.
Ladle into bowls and garnish with fresh basil and extra Parmesan. Serve immediately.