Preheat the oven. Set to 400°F (200°C). Place a rack in the center position.
Prep the chicken. Pat the chicken breasts dry with paper towels. Use a sharp knife to cut a pocket in the thickest side of each breast, stopping about 1/2 inch from the edges.
Don’t slice all the way through.
Season the chicken. In a small bowl, mix 1/2 teaspoon salt, 1/4 teaspoon pepper, smoked paprika, garlic powder, and onion powder. Rub the mixture on both sides of each breast and inside the pocket.
Make the filling. In a medium bowl, combine cream cheese, Parmesan, half the mozzarella, chopped spinach, minced garlic, lemon juice (and zest if using), and mayonnaise or Greek yogurt if you like it extra creamy. Add a pinch of red pepper flakes, 1/2 teaspoon salt, and 1/4 teaspoon pepper.
Stir until smooth and well mixed.
Stuff the chicken. Spoon the filling evenly into the pockets. Don’t overpack. Secure the opening with toothpicks or tie with kitchen twine so the filling stays put.
Sear the chicken. Heat 1 tablespoon olive oil in an oven-safe skillet over medium-high heat.
Sear the chicken 2–3 minutes per side until lightly golden. Work in batches if needed to avoid crowding.
Bake. Sprinkle the remaining mozzarella on top of the chicken. Transfer the skillet to the oven and bake 12–18 minutes, depending on thickness, until the internal temperature reaches 165°F (74°C) in the thickest part.
Rest and serve. Let the chicken rest 5 minutes.
Remove toothpicks or twine. Spoon any pan juices over the top and serve with lemon wedges, if desired.