Preheat the oven: Set to 400°F (200°C). Line a baking sheet with parchment or lightly grease a baking dish.
Prep the spinach: If using fresh, heat a skillet with olive oil or butter over medium. Add garlic, sauté 30 seconds, then add spinach and cook until wilted.
Remove from heat and squeeze out excess moisture once cool.
Make the filling: In a bowl, mix cream cheese, mozzarella, Parmesan, cooked spinach, a pinch of salt and pepper, and optional add-ins like red pepper flakes or lemon zest. Stir until smooth and well combined.
Prepare the chicken: Pat chicken breasts dry. Using a sharp knife, cut a deep pocket along the thickest side of each breast without cutting through the other side.
Season the outside: Mix salt, pepper, paprika, onion powder, and Italian herbs.
Rub the blend all over the chicken.
Stuff the chicken: Spoon the spinach-cheese mixture into each pocket. Don’t overfill. Secure with toothpicks if needed.
Sear for extra flavor (optional but great): Heat a little oil in a skillet over medium-high.
Sear chicken 2–3 minutes per side for color. Transfer to the baking dish.
Bake: Cook 18–22 minutes, or until the thickest part reaches 165°F (74°C). Juices should run clear and the filling should be hot and melty.
Rest and serve: Let the chicken rest 5 minutes.
Remove toothpicks. Spoon any pan juices over the top and serve.