Prep the oven and pan: Preheat your oven to 400°F (200°C).
Line a sheet pan with parchment or lightly oil a baking dish for easy cleanup.
Wilt the spinach: If using fresh spinach, add it to a dry skillet over medium heat with a pinch of salt. Stir until wilted, 2–3 minutes. Transfer to a colander, cool slightly, then squeeze out excess moisture.
If using frozen spinach, thaw and squeeze out as much water as possible.
Make the filling: In a bowl, combine cream cheese, Greek yogurt (or sour cream), Parmesan, mozzarella (if using), garlic, lemon zest, herbs, red pepper flakes, 1/4 teaspoon salt, and a few grinds of black pepper. Fold in the well-drained spinach until evenly mixed and creamy.
Prepare the salmon: Pat the salmon fillets dry. With a sharp knife, cut a slit into the side of each fillet to create a pocket, stopping about 1/2 inch from the edges so the fish stays intact.
Rub the outside with olive oil, and season both sides with salt and pepper.
Stuff the fillets: Spoon the spinach mixture into each pocket. Don’t overfill; use what fits comfortably. If needed, secure the opening with a couple of toothpicks placed at a slight angle.
Sear for extra color (optional but great): Heat a little oil in an oven-safe skillet over medium-high.
Place the salmon skin-side down and sear for 2 minutes to get the top nicely colored. Turn off heat.
Bake: Transfer the skillet to the oven (or move fillets to your prepared sheet pan). Bake 8–12 minutes, depending on thickness, until the salmon flakes easily and the center is just opaque.
An internal temperature of 125–130°F (52–54°C) gives moist, tender salmon.
Finish and serve: Rest the fillets for 3 minutes. Squeeze a little lemon over the top, sprinkle with fresh herbs, and serve with your favorite sides.