Prep the oven and dish: Preheat the oven to 375°F (190°C). Lightly grease a 9x13-inch casserole dish with nonstick spray or a little oil.
Season the chicken: Pat the chicken dry. Season on both sides with salt, pepper, Italian seasoning, and smoked paprika if using.
Sear the chicken: Heat a large skillet over medium-high heat with butter or olive oil.
Sear the chicken 2–3 minutes per side until lightly golden. It doesn’t need to be cooked through. Transfer to a plate.
Sauté aromatics: Lower heat to medium.
Add onion and cook 3–4 minutes until soft. Stir in garlic and cook 30 seconds until fragrant.
Build the cream sauce: Add chicken broth and heavy cream, stirring to combine. Whisk in cream cheese until smooth and melted.
Stir in 1 cup mozzarella and 1/4 cup Parmesan. Season with a pinch of salt and pepper to taste. If using lemon zest or juice, add it now for brightness.
Wilt the spinach: Add fresh spinach to the sauce in batches, stirring until wilted.
If using frozen spinach, make sure it’s fully thawed and very well squeezed, then fold it in.
Assemble the casserole: Spread the creamy spinach mixture in the prepared dish. Nestle the seared chicken pieces into the sauce. Spoon a little sauce over the top so the chicken is coated.
Top with cheese: Sprinkle remaining mozzarella and Parmesan over the casserole.
Add a pinch of red pepper flakes if you like a mild kick.
Bake: Bake uncovered for 20–25 minutes, or until the chicken reaches an internal temperature of 165°F (74°C) and the sauce is bubbling.
Rest and garnish: Let the casserole rest 5–10 minutes to thicken slightly. Sprinkle with chopped parsley before serving.