Preheat and prep. Heat your oven to 400°F (200°C).
Lightly grease a medium baking dish. Pat the salmon dry with paper towels and season both sides with salt and pepper. Set aside.
Sauté aromatics. In a large skillet over medium heat, warm the olive oil or butter.
Add the shallot and cook until soft and fragrant, about 2–3 minutes. Stir in the garlic and cook 30 seconds more.
Wilt the spinach. Add the chopped spinach in batches, stirring as it wilts. Season lightly with salt and pepper.
Cook until the spinach has released most of its moisture and the pan looks mostly dry, about 3–5 minutes.
Build the cream base. Lower the heat. Stir in the cream cheese until melted and smooth. Pour in the heavy cream, then add the Parmesan, Dijon, lemon zest, and red pepper flakes if using.
Simmer gently for 1–2 minutes to thicken slightly.
Adjust seasoning. Taste the mixture. Add more salt, pepper, and lemon juice to balance the richness. You want it creamy, savory, and bright—not flat.
Assemble the bake. Spoon a thin layer of the creamy spinach into the baking dish.
Nestle the salmon fillets on top, then spread the remaining creamy spinach over and around the fish, covering the fillets mostly but not completely. Sprinkle a little extra Parmesan on top if you like.
Bake. Place in the oven and bake for 12–15 minutes, depending on thickness. Salmon is done when it flakes easily and reaches an internal temperature of about 125–130°F for medium.
Finish with herbs and lemon. Let it rest 3 minutes.
Top with chopped dill or parsley and a final squeeze of lemon. Serve warm.