Prep and preheat: Set the oven to 400°F (200°C). Lightly grease a 9x13-inch baking dish. Pat the chicken dry and season both sides with salt, pepper, and a pinch of Italian seasoning.
If you like a little color, sprinkle on a touch of smoked paprika.
Quick sear for flavor (optional but great): Heat 1 tablespoon olive oil in a large skillet over medium-high. Sear the chicken 2–3 minutes per side to get light browning. You don’t need to cook it through.
Transfer to the baking dish. If you’re short on time, skip searing and go straight to the sauce step.
Sauté aromatics: In the same skillet, lower heat to medium and add remaining oil or a pat of butter. Add chopped onion and cook until translucent, about 3–4 minutes.
Stir in garlic and cook 30 seconds, just until fragrant.
Wilt the spinach: Add fresh spinach in batches, tossing until just wilted. If using frozen spinach, add it now and cook off any excess moisture. Season with a little salt and pepper.
Make the creamy base: Add chicken broth and heavy cream, stirring to combine.
Drop in the softened cream cheese and stir until it melts into a smooth, creamy sauce. If it looks too thick, splash in a bit more broth or cream.
Add cheese and balance: Stir in Parmesan until melted. Taste and adjust salt and pepper.
Add a pinch of red pepper flakes for heat if you like. A little lemon zest or a squeeze of lemon brightens the richness nicely.
Assemble: Pour the creamy spinach mixture over the chicken in the baking dish. Sprinkle the top evenly with shredded mozzarella.
Bake: Bake uncovered for 18–25 minutes, or until the chicken reaches an internal temperature of 165°F (74°C) and the top is bubbly and lightly golden.
Thicker cuts may need a few extra minutes.
Rest and serve: Let it rest 5 minutes so the sauce settles. Spoon the creamy spinach over each piece of chicken. Garnish with extra Parmesan or chopped parsley if you like.