Preheat the oven: Set your oven to 400°F (200°C). Place a rack in the middle position.
Prep the spinach: If using fresh spinach, sauté it in a skillet with a drizzle of olive oil over medium heat until wilted, 1–2 minutes.
Let it cool slightly and squeeze out excess moisture. If using frozen spinach, thaw and squeeze very well.
Make the filling: In a bowl, mix cream cheese, mozzarella, Parmesan, garlic, Italian seasoning, smoked paprika, onion powder, a pinch of salt, and pepper. Fold in the drained spinach until evenly combined.
Prepare the chicken: Pat the chicken breasts dry with paper towels.
Using a sharp knife, slice a pocket into the thick side of each breast, stopping about 1/2 inch from the edges so you don’t cut through.
Season the outside: Rub the chicken with olive oil and season all over with salt and pepper. You can add an extra sprinkle of Italian seasoning if you like.
Stuff the chicken: Spoon the spinach-cheese filling evenly into the pockets. Don’t overfill.
Secure the openings with toothpicks to keep the filling inside.
Sear for flavor: Heat a large oven-safe skillet over medium-high heat with a little olive oil. Add the stuffed chicken and sear 2–3 minutes per side until lightly golden. Work in batches if needed to avoid crowding.
Bake to finish: Transfer the skillet to the oven and bake 12–18 minutes, depending on thickness, until the internal temperature reaches 165°F (74°C).
Rest and serve: Let the chicken rest for 5 minutes.
Remove toothpicks, squeeze with a little lemon if you like, and serve warm.