Heat the oven: Preheat to 375°F (190°C).
Lightly grease a 9x13-inch baking dish.
Cook the pasta: Boil in salted water until just shy of al dente (1–2 minutes less than package). Drain and set aside. A little firmness prevents mushiness after baking.
Shred the chicken: Remove skin and bones, then shred into bite-size pieces.
Aim for 3 cups. Pat dry with paper towels if it’s very moist to keep the sauce from thinning.
Start the sauce: In a large skillet or pot, heat olive oil and butter over medium heat. Add minced garlic and cook 30–60 seconds until fragrant, not browned.
Thicken it: Sprinkle in flour and whisk for 1 minute to cook off the raw taste.
Slowly add chicken broth, whisking until smooth.
Make it creamy: Gradually pour in cream. Simmer gently 2–3 minutes until slightly thickened. Season with Italian seasoning, a pinch of salt, black pepper, and red pepper flakes if using.
Add the cheeses: Remove from heat and whisk in Parmesan until melted and smooth.
Stir in half of the mozzarella for extra creaminess.
Optional veggies: Fold in spinach (it will wilt from the heat) and peas. If using frozen peas, make sure they’re thawed and patted dry.
Combine: Add the shredded chicken and cooked pasta to the sauce. Toss until everything is evenly coated.
If it looks too thick, splash in a little extra broth.
Assemble the bake: Transfer to the baking dish. Sprinkle the remaining mozzarella and a handful of Parmesan over the top for a golden crust.
Bake: Bake uncovered 18–22 minutes, until bubbling around the edges and lightly browned on top. For extra color, broil for 1–2 minutes—watch closely.
Rest and serve: Let it sit 5–10 minutes to set.
Sprinkle with chopped parsley and adjust salt and pepper if needed.