Quick Recipe Version (TL;DR)
Quick Ingredients
- 4 center-cut salmon fillets, skin-on (6 oz/170 g each)
- 5 oz (142 g) baby spinach
- 4 oz (113 g) feta, crumbled
- 3 oz (85 g) cream cheese, softened
- 3 tbsp fresh dill, chopped (divided)
- 2 garlic cloves, minced
- 1 lemon (zest 1 tsp; juice 1 tbsp)
- 1.5 lb (680 g) zucchini, cut into 1/2-inch half-moons
- 3.5 tbsp extra-virgin olive oil (divided)
- 3/4 tsp kosher salt + more to taste; 3/4 tsp black pepper (divided)
- 1/2 tsp garlic powder; pinch red pepper flakes; 1/2 tsp paprika (optional)
- Lemon wedges, extra dill for serving
Do This
- 1. Heat oven to 425°F (220°C). Line two sheet pans with parchment.
- 2. Toss zucchini with 1.5 tbsp oil, 1/2 tsp salt, 1/4 tsp pepper, 1/2 tsp garlic powder. Roast 18–20 minutes; start first.
- 3. Sauté spinach in 1 tbsp oil until wilted, squeeze dry, chop. Mix with cream cheese, feta, 2 tbsp dill, lemon zest, garlic, pinch red pepper flakes, 1/4 tsp salt, 1/4 tsp pepper.
- 4. Pat salmon dry. Cut a side pocket in each fillet; season outside and inside with 1/2 tsp salt, 1/2 tsp pepper, and paprika if using. Brush with 1 tbsp oil.
- 5. Stuff salmon with filling. Roast 14–16 minutes to 125°F (52°C) internal; broil 1–2 minutes for color if desired.
- 6. Toss hot zucchini with lemon juice, remaining 1 tbsp dill, and extra zest. Serve salmon with zucchini and lemon wedges.
Why You’ll Love This Recipe
- Rich, creamy spinach–feta filling keeps the salmon ultra-juicy and flavorful.
- Balanced and keto-friendly: high in protein and healthy fats with a low-carb veggie side.
- Weeknight-easy but company-worthy, using one oven and minimal cleanup.
- Bright lemon and dill add fresh Mediterranean vibes to every bite.
Grocery List
- Produce: Baby spinach, zucchini, lemon, fresh dill, garlic
- Dairy: Feta, cream cheese
- Pantry: Salmon fillets, extra-virgin olive oil, kosher salt, black pepper, garlic powder, paprika (optional), red pepper flakes, parchment paper
Full Ingredients
Spinach–Feta Filling
- 1 tbsp extra-virgin olive oil
- 5 oz (142 g) baby spinach
- 3 oz (85 g) cream cheese, softened
- 4 oz (113 g) feta, crumbled
- 2 tbsp fresh dill, finely chopped
- 1 tsp finely grated lemon zest
- 2 garlic cloves, minced
- Pinch red pepper flakes
- 1/4 tsp kosher salt
- 1/4 tsp freshly ground black pepper
Salmon
- 4 center-cut salmon fillets, skin-on (6 oz/170 g each; about 1 to 1 1/4 inches thick)
- 1 tbsp extra-virgin olive oil
- 3/4 tsp kosher salt (use about 1/2 tsp on the salmon and 1/4 tsp in the filling)
- 1/2 tsp freshly ground black pepper (use about 1/2 tsp on the salmon and 1/4 tsp in the filling)
- 1/2 tsp sweet paprika (optional)
Lemony Roasted Zucchini
- 1.5 lb (680 g) zucchini, trimmed and cut into 1/2-inch half-moons
- 1.5 tbsp extra-virgin olive oil
- 1/2 tsp garlic powder
- 1/2 tsp kosher salt
- 1/4 tsp freshly ground black pepper
- 1 tbsp fresh lemon juice
- 1 tsp finely grated lemon zest
- 1 tbsp fresh dill, chopped (or flat-leaf parsley)
To Serve
- Lemon wedges
- Extra fresh dill
- Flaky sea salt (optional)

Step-by-Step Instructions
Step 1: Preheat and start the zucchini
Heat the oven to 425°F (220°C) with two racks in the upper and lower thirds. Line two rimmed sheet pans with parchment. Toss the zucchini with 1.5 tbsp olive oil, garlic powder, 1/2 tsp kosher salt, and 1/4 tsp black pepper. Spread on one prepared pan in a single layer. Roast for 18–20 minutes total; start now so it gets a head start before the salmon goes in.
Step 2: Wilt, drain, and chop the spinach
Heat 1 tbsp olive oil in a large skillet over medium heat. Add the spinach and cook, tossing, until just wilted, 1–2 minutes. Transfer to a clean kitchen towel and squeeze very firmly to remove as much liquid as possible (this keeps the filling rich, not watery). Chop the drained spinach finely.
Step 3: Mix the creamy filling
In a bowl, combine the chopped spinach, cream cheese, feta, 2 tbsp dill, lemon zest, minced garlic, red pepper flakes, 1/4 tsp kosher salt, and 1/4 tsp black pepper. Mash and stir until evenly combined and spreadable. Taste and adjust salt to your liking (remember feta is salty).
Step 4: Prepare salmon pockets
Pat the salmon very dry with paper towels. Using a sharp knife, make a horizontal slit along the thickest side of each fillet to form a pocket, leaving about a 1/2-inch border on three sides so it stays intact. Season the fillets (outside and inside the pocket) with about 1/2 tsp kosher salt, 1/2 tsp black pepper, and paprika if using. Brush or rub the tops with 1 tbsp olive oil.
Step 5: Stuff and roast
Divide the filling among the salmon (about 1/4 of the mixture per fillet), tucking it into the pockets. If needed, secure the opening with a toothpick. Transfer salmon to the second lined sheet pan. Place the salmon pan on the other oven rack so both trays can roast together. Roast the salmon for 14–16 minutes until just opaque and the thickest part registers 125°F (52°C). If you want extra color, broil the salmon for 1–2 minutes at the end. Rotate and swap oven rack positions of the two pans halfway through for even cooking.
Step 6: Finish and serve
As soon as the zucchini is tender with caramelized edges, toss it in a bowl with lemon juice, lemon zest, and 1 tbsp chopped dill. Plate the stuffed salmon with the lemony roasted zucchini. Garnish with extra dill, a pinch of flaky sea salt if desired, and lemon wedges for squeezing. Serve immediately.
Pro Tips
- Drain spinach thoroughly. Excess moisture thins the filling and can make the salmon steam rather than roast.
- Center-cut fillets cook evenly and hold a pocket better than tail pieces.
- Season lightly—feta is briny. You can always finish with a touch of flaky salt at the table.
- Use an instant-read thermometer and pull salmon at 125°F (52°C) for succulent, flaky fish.
- Want crisper zucchini? Spread it out well and don’t overcrowd the pan; the lemon goes on after roasting for brightness.
Variations
- Sun-dried tomato twist: Fold 2 tbsp finely chopped oil-packed sun-dried tomatoes and 1 tbsp chopped Kalamata olives into the filling.
- Goat cheese and herbs: Swap half the feta for soft goat cheese and add 1 tsp chopped fresh oregano.
- Air fryer: Cook stuffed salmon at 390°F (200°C) for 11–13 minutes, checking at 10 minutes; air fry zucchini separately at 400°F (205°C) for 10–12 minutes, shaking once.
Storage & Make-Ahead
Make the spinach–feta filling up to 3 days ahead; keep refrigerated in an airtight container. You can stuff the salmon up to 6 hours in advance; cover and refrigerate, then roast straight from the fridge, adding 1–2 minutes as needed. Leftover cooked salmon keeps 2 days in the fridge. Reheat gently at 300°F (150°C) for 8–10 minutes or in an air fryer at 325°F (165°C) for 5–6 minutes. Zucchini reheats well in a skillet over medium heat for a few minutes. Freezing is not recommended due to the dairy-based filling.
Nutrition (per serving)
Approximate values: 660 calories; 48 g fat; 47 g protein; 9 g total carbs; 2 g fiber; 7 g net carbs. Nutrition will vary based on brands and salmon type.

