Easy Sheet Pan Salmon (Crispy Broccoli, No Dry Fish)
Flaky wild-caught salmon and caramelized broccoli on one pan, finished with a tangy Greek yogurt lemon butter sauce. 38g of protein per serving, ready in 32 minutes, and the sauce takes 90 seconds to whisk together. We reverse-engineered the timing so the broccoli crisps and the salmon stays moist — simultaneously.

“Sheet pan dinners fail in one of two ways: the vegetables burn while the protein undercooks, or the protein overcooks while the vegetables stay limp. With salmon and broccoli, timing is everything — and the fix is simpler than you think. Give the broccoli an 8-minute head start, add the salmon to the same pan, and both finish at exactly 145°F internal temp while the broccoli develops those dark, slightly crispy edges that make it actually worth eating. The sauce is Greek yogurt, butter, lemon, and Dijon — done in the time it takes the salmon to finish cooking.”
Why This Recipe Works
Sheet pan dinners are not complicated — and that's exactly why people get them wrong. The simplicity invites complacency: throw everything on the pan, set the temperature, walk away. But salmon and broccoli are not interchangeable objects with the same thermal requirements. They have different densities, different moisture contents, and different target internal temperatures. Treating them identically produces a result that's mediocre at both.
The Stagger Solves Everything
Broccoli at 425°F needs about 20 minutes to develop real roasted character — dark edges, slightly concentrated flavor, tender-but-not-limp texture. Salmon at 425°F needs 12-14 minutes before it hits the 140-145°F internal temp window where the collagen has softened but the flesh hasn't turned chalky and dry.
The math is simple: give the broccoli an 8-minute head start. When the first timer goes off, the broccoli is at the 40% mark — softened, lightly colored, but with 12 more minutes left to finish. Pull the pan, push the broccoli to the edges, add the salmon skin-side down to the center. Return everything to the oven. Both components finish simultaneously. The broccoli gets its full 20-22 minutes. The salmon gets 12-14. Neither is compromised.
This is not a secret. It's just physics applied to cooking sequence.
What the Sauce Actually Does
The Greek yogurt lemon butter sauce is not garnish. It's the structural element that ties the dish together after the oven does its work. The Dijon mustard acts as an emulsifier — it contains mucilage compounds that bind the fat from the butter to the acid from the lemon juice, creating a stable sauce rather than a broken, greasy drizzle. The Greek yogurt adds protein and a slight tang that cuts through the richness of the salmon fat.
The chicken broth adjustment is critical. Without it, the sauce is closer to a thick dip. With it, thinned to spoon-coating consistency, it flows into the crevices of the broccoli florets and pools around the salmon. Every bite gets sauce contact. That's the difference between a recipe that tastes assembled and one that tastes finished.
Why 425°F Is the Right Temperature
Lower temperatures — 375°F, which many salmon recipes use — produce gentler, more even cooking, but they also mean the broccoli never properly roasts. You get soft vegetables with no color and salmon that's technically cooked but has no exterior texture. 425°F is hot enough to caramelize the broccoli edges through the Maillard reaction while creating a light crust on the salmon exterior. The higher heat also shortens total cook time, which means less moisture loss from the fish overall.
A large rimmed sheet pan is non-negotiable at this temperature. A crowded pan traps steam under the vegetables and drops the effective cooking temperature at the surface. Single layer, full spread, maximum airflow — that's what makes roasting distinct from braising.
The Case for Skin-On Salmon
Skinless fillets are a trap for home cooks. The skin side of a salmon fillet faces the hottest surface in the oven — the metal pan at 425°F. Without the skin layer to absorb and buffer that direct heat, the bottom of the fillet overcooks before the center reaches temperature. The skin acts as a thermal gasket. It also holds the fillet together structurally; skinless fillets tend to fall apart when you try to transfer them from pan to plate.
An instant-read thermometer eliminates the guesswork that ruins most salmon. The window between perfect and overcooked is roughly 10 degrees and 2 minutes. Visual cues — color change, flaking on the surface — lag behind what's happening at the center. Pull at 140°F internal, rest 2 minutes, serve at 145°F. Every time.
Where Beginners Mess This Up
Before we start, read this. These are the 4 reasons your easy sheet pan salmon (crispy broccoli, no dry fish) will fail:
- 1
Adding salmon and broccoli to the pan at the same time: Broccoli needs 20 minutes to roast properly. Salmon needs 12-14. If they go in together, you either pull the salmon perfectly cooked and get pale, limp broccoli, or you get beautifully roasted broccoli and salmon that's dry and overcooked by four minutes. The staggered entry solves this completely.
- 2
Not patting the salmon dry before seasoning: Surface moisture creates steam in the oven, which means the salmon poaches rather than roasts. A few seconds with paper towels removes the moisture that's blocking browning and causing that gray, steamed texture. Dry surface equals better flavor.
- 3
Pulling the salmon at the first flake: Salmon continues cooking after it leaves the oven — residual heat can push it 3-5 degrees past your pull temperature. Target 140°F internal temp and let it rest 2 minutes. It will hit 145°F precisely. Waiting for 145°F in the oven means 150°F on the plate, which is salmon jerky.
- 4
Skipping the broth in the sauce: Without the chicken broth, the Greek yogurt sauce is too thick to drizzle and coats unevenly. The broth loosens it to a consistency that flows into the broccoli florets and pools around the salmon. A quarter cup makes the difference between a condiment and a pan sauce.
The Video Reference Library
Want to see it in action? Here are the exact videos we analyzed and combined to build this foolproof recipe translation:

A clean walkthrough of the staggered-entry method and the Greek yogurt sauce technique. Clear visual on what properly roasted broccoli edges should look like before the salmon goes in.
2. How to Roast Salmon Perfectly Every Time
Deep dive into oven temperature, internal temp targets, and why 425°F is the sweet spot for simultaneous browning and moisture retention. Essential for anyone who's pulled chalky salmon before.
3. 5 Sheet Pan Dinner Rules That Change Everything
Covers the crowding problem, parchment vs. foil, and why pat-drying protein before roasting is non-negotiable. Applies directly to this recipe.
🛠️ Core Equipment
- Large rimmed sheet pan (18x13) ↗A half-sheet pan gives enough surface area to spread broccoli in a true single layer. Crowded florets steam instead of roast. The rim prevents sauce from running off during the final drizzle.
- Instant-read thermometer ↗Salmon doneness is a 10-degree window. Visual cues — color, flaking — are unreliable guides. An instant-read thermometer is the only way to consistently pull the fish at the right moment without cutting it open and losing moisture.
- Parchment paper ↗Prevents the yogurt-based sauce from scorching onto the pan surface, which is nearly impossible to clean off a bare sheet pan. Saves 10 minutes of soaking time.
- Small whisk and bowl ↗The Greek yogurt sauce requires emulsification — vigorous whisking to combine the Dijon, butter, lemon juice, and yogurt into a smooth sauce. A fork leaves lumps. A small bowl lets you whisk aggressively without splashing.
Easy Sheet Pan Salmon (Crispy Broccoli, No Dry Fish)
🛒 Ingredients
- ✦4 salmon fillets (6 oz each), skin-on
- ✦4 cups fresh broccoli florets
- ✦3 tablespoons extra virgin olive oil, divided
- ✦4 cloves garlic, minced, divided
- ✦3 tablespoons plain nonfat Greek yogurt
- ✦2 tablespoons unsalted butter
- ✦2 medium lemons, zested and juiced
- ✦1 teaspoon Dijon mustard
- ✦1/2 teaspoon red pepper flakes
- ✦1 teaspoon fresh thyme leaves
- ✦1/4 cup low-sodium chicken broth
- ✦2 tablespoons grated Parmesan cheese
- ✦Sea salt to taste
- ✦Freshly cracked black pepper to taste
👨🍳 Instructions
01Step 1
Preheat your oven to 425°F and line a large rimmed sheet pan with parchment paper.
02Step 2
Toss broccoli florets with 2 tablespoons olive oil, half the minced garlic, salt, and pepper until evenly coated. Spread in a single layer across the full surface of the sheet pan.
03Step 3
Roast the broccoli for 8 minutes until it begins to soften and develop light browning at the edges.
04Step 4
While the broccoli roasts, pat salmon fillets dry with paper towels. Brush all sides with the remaining 1 tablespoon of olive oil and season generously with salt, pepper, and fresh thyme.
05Step 5
Pull the sheet pan from the oven. Push the broccoli to the outer edges of the pan, clearing a central lane for the salmon fillets. Arrange salmon skin-side down in the cleared space.
06Step 6
Return the pan to the oven and bake for 12-14 minutes until the salmon reaches an internal temperature of 140°F.
07Step 7
While the salmon finishes, whisk together the Greek yogurt, butter, lemon zest, lemon juice, Dijon mustard, remaining minced garlic, and red pepper flakes in a small bowl until smooth.
08Step 8
Stir in the chicken broth one tablespoon at a time until the sauce just coats the back of a spoon — loose enough to drizzle, thick enough to cling.
09Step 9
Remove the sheet pan from the oven and let rest 2 minutes. Internal temp will climb to 145°F.
10Step 10
Drizzle the lemon butter sauce evenly over the salmon and broccoli. Scatter Parmesan over everything and serve immediately.
Nutrition Per Serving
Estimates based on standard preparation. Adjustments alter macros.
🔄 Substitutions
Instead of Plain nonfat Greek yogurt...
Use Full-fat Greek yogurt or sour cream
Creamier sauce with slightly more calories. Full-fat versions are less likely to curdle if the sauce gets too hot — more forgiving during prep.
Instead of Salmon fillets...
Use Arctic char or halibut fillets
Arctic char has a more delicate texture and milder flavor. Halibut is firmer and denser — it can handle slightly higher internal temps. Protein content stays comparable at 35-40g per 6 oz serving.
Instead of Fresh thyme...
Use Fresh dill or fresh tarragon
Dill is the more classic salmon pairing — bright and grassy. Tarragon adds subtle anise notes that work exceptionally well with the Dijon in the sauce. Either works.
Instead of Unsalted butter...
Use Ghee or avocado oil
Ghee adds a nutty, slightly caramelized depth that elevates the sauce. Avocado oil keeps things lighter and more neutral. Both have higher smoke points than butter, which matters if you're making the sauce in a hot pan rather than a cold bowl.
🧊 Storage & Reheating
In the Fridge
Store salmon and broccoli in an airtight container for up to 3 days. Keep the sauce in a separate small container — it will last 4 days refrigerated.
In the Freezer
Cooked salmon freezes reasonably well for up to 1 month, though the texture becomes slightly more flaky upon thawing. Broccoli gets soft after freezing. The sauce does not freeze well.
Reheating Rules
Reheat salmon and broccoli covered in a 300°F oven for 8-10 minutes with a splash of chicken broth to prevent drying. Add cold sauce after reheating, not before. Microwave works in a pinch but dries the fish out.
❓ Frequently Asked Questions
How do I know when the salmon is done without a thermometer?
The reliable visual test: insert a thin knife into the thickest part and hold it there for 5 seconds. Remove the knife and press it to your lower lip. If it's warm, the fish is done. If it's hot, it's overcooked. If it's cool, it needs more time. That said, a thermometer is a $12 investment that eliminates all guesswork permanently.
Can I use frozen salmon?
Yes, but thaw it completely in the fridge overnight first. Never roast salmon from frozen — the exterior overcooks before the center thaws. Pat frozen-thawed fillets extra dry, as they release more moisture than fresh.
Why did my Greek yogurt sauce curdle?
You either whisked the sauce while the butter was too hot, or you poured it directly onto the hot pan and let it sit over residual heat. Mix the sauce off heat in a room-temperature bowl. The Greek yogurt is the protein that curdles — keep it below 160°F and it stays smooth.
Can I use frozen broccoli instead of fresh?
Technically yes, but frozen broccoli has much higher moisture content. It will steam, not roast, and you'll get soft, pale florets instead of crispy-edged ones. If fresh isn't available, spread frozen florets on the pan and pat them as dry as possible, then extend the broccoli-only roast time to 12-14 minutes before adding the salmon.
Is skin-on salmon necessary?
Skin-on is strongly preferred. The skin acts as insulation between the hot pan and the delicate flesh, preventing the bottom from overcooking before the top is done. It also makes the fillet easier to handle — it holds together better. If you're using skinless, reduce cook time by 1-2 minutes and check temp early.
Can I make this dairy-free?
Yes. Replace the Greek yogurt with cashew cream (raw cashews soaked 2 hours and blended with water to yogurt consistency) and swap the butter for ghee or avocado oil. Omit the Parmesan or use a nutritional yeast sprinkle. The sauce loses some richness but stays bright and flavorful.
The Science of
Easy Sheet Pan Salmon (Crispy Broccoli, No Dry Fish)
We turned everything on this page into a beautiful, flour-proof PDF cheat sheet. Print it out, stick it to your fridge, and never mess up your easy sheet pan salmon (crispy broccoli, no dry fish) again.
*We'll email you the high-res PDF instantly. No spam, just perfectly cooked meals.
AlmostChefs Editorial Team
We translate the internet's most popular cooking videos into foolproof, beginner-friendly written recipes. We analyze multiple methods, test them in our kitchen, and engineer a single "Master Recipe" that gives you the best possible result with the least possible stress.