Quick Recipe Version (TL;DR)
Quick Ingredients
- 4 skin-on salmon fillets (about 6 oz / 170 g each)
- 2 tbsp neutral oil (canola or avocado) for searing
- 1 ¼ tsp fine sea salt, divided (plus more to taste)
- ¾ tsp freshly ground black pepper, divided
- 1 ½ lb (680 g) baby potatoes, halved
- 3 medium carrots, cut into ½-inch (1.25 cm) pieces
- 1 bunch asparagus, trimmed, cut into 2-inch (5 cm) pieces
- 3 tbsp extra-virgin olive oil
- 1 large shallot, finely minced
- ½ cup (120 ml) dry white wine
- 2 tbsp fresh lemon juice + 1 tsp finely grated zest
- 8 tbsp (113 g) cold unsalted butter, cut into small cubes
- 2 tbsp finely chopped fresh dill
Do This
- 1. Heat oven to 425°F (220°C). Toss potatoes and carrots with 2 tbsp olive oil, ½ tsp salt, and ¼ tsp pepper; roast 15 minutes on a large sheet pan.
- 2. Add asparagus with remaining 1 tbsp olive oil, ¼ tsp salt, and a pinch of pepper; roast 10–12 minutes more, until vegetables are tender and browned.
- 3. Pat salmon dry. Season both sides with ½ tsp salt and ¼ tsp pepper. Let sit at room temperature while vegetables finish.
- 4. For beurre blanc: simmer shallot, wine, lemon zest, and ¼ tsp pepper in a saucepan over medium heat until reduced to about 2 tbsp. Lower heat to low.
- 5. Whisk in cold butter a few cubes at a time until sauce is thick and velvety. Remove from heat; stir in lemon juice, dill, and a pinch of salt. Keep warm on lowest heat.
- 6. Sear salmon in hot skillet with 2 tbsp neutral oil, skin-side down, 5–7 minutes until crisp and mostly cooked, then flip for 1–2 minutes. Serve salmon over roasted vegetables with spoonfuls of lemon-dill beurre blanc.
Why You’ll Love This Recipe
- Crispy, crackly salmon skin with tender, buttery flesh cooked in minutes on the stovetop.
- A silky, restaurant-style lemon-dill beurre blanc that is surprisingly doable at home.
- Sheet-pan roasted vegetables make this a complete, colorful dinner with minimal cleanup.
- Elegant enough for guests, simple enough for a weeknight when you want something special.
Grocery List
- Produce: 1 ½ lb baby potatoes, 3 carrots, 1 bunch asparagus, 1 large shallot, 1 lemon, fresh dill
- Dairy: Unsalted butter (at least 8 tbsp / 113 g)
- Pantry: Olive oil, neutral oil (canola/avocado), fine sea salt, black pepper, dry white wine (e.g., Sauvignon Blanc, Pinot Grigio)
Full Ingredients
For the Roasted Vegetables
- 1 ½ lb (680 g) baby potatoes, halved (or quartered if large)
- 3 medium carrots, peeled and cut into ½-inch (1.25 cm) thick coins
- 1 bunch asparagus (about 1 lb / 450 g), woody ends trimmed, spears cut into 2-inch (5 cm) pieces
- 3 tbsp extra-virgin olive oil
- ¾ tsp fine sea salt
- ½ tsp freshly ground black pepper
- Optional: ½ tsp dried thyme or 1 tsp fresh thyme leaves
For the Pan-Seared Salmon
- 4 skin-on salmon fillets, about 6 oz (170 g) each
- 2 tbsp neutral oil with a high smoke point (canola, grapeseed, or avocado oil)
- ½ tsp fine sea salt
- ¼ tsp freshly ground black pepper
For the Lemon-Dill Beurre Blanc
- 1 large shallot, very finely minced (about ¼ cup / 30 g)
- ½ cup (120 ml) dry white wine
- 1 tsp finely grated lemon zest (from about ½ lemon)
- 2 tbsp freshly squeezed lemon juice (from about ½–1 lemon), plus more to taste
- 8 tbsp (1 stick / 113 g) cold unsalted butter, cut into ½-inch (1.25 cm) cubes
- 2 tbsp finely chopped fresh dill fronds, lightly packed
- ¼ tsp freshly ground black pepper
- ¼ tsp fine sea salt, plus more to taste
Optional Garnishes
- Lemon wedges for serving
- Extra chopped fresh dill
- Flaky sea salt for finishing

Step-by-Step Instructions
Step 1: Preheat the oven and prep the vegetables
Heat your oven to 425°F (220°C). Line a large rimmed baking sheet with parchment paper for easier cleanup, if you like.
Add the halved baby potatoes and sliced carrots to the baking sheet. Drizzle with 2 tbsp olive oil, sprinkle with ½ tsp salt, ¼ tsp pepper, and the thyme if using. Toss well with your hands until all the vegetables are evenly coated and spread them out in a single layer, cut sides down where possible for better browning.
Step 2: Roast the vegetables in stages
Place the baking sheet on the middle rack and roast the potatoes and carrots for 15 minutes to give them a head start, as they take longer to cook than asparagus.
While they roast, toss the asparagus pieces with the remaining 1 tbsp olive oil, ¼ tsp salt, and ¼ tsp pepper in a bowl.
After 15 minutes, remove the pan, give the potatoes and carrots a quick toss, then scatter the asparagus over the pan. Return to the oven and roast for another 10–12 minutes, until the potatoes are tender, the carrots are caramelized at the edges, and the asparagus is bright green with a little char. Turn off the oven and keep the vegetables warm inside with the door slightly ajar, or set aside covered with foil.
Step 3: Prep and season the salmon fillets
While the vegetables roast, prepare the salmon. Pat each fillet very dry on all sides with paper towels, paying special attention to the skin. Dry skin is the key to crispiness.
Sprinkle the flesh side of each fillet evenly with the ½ tsp salt and ¼ tsp black pepper. You can season the skin side very lightly, or leave it as is if you prefer a less salty skin. Let the salmon sit at room temperature for about 10–15 minutes while you start the sauce; this helps it cook more evenly.
Step 4: Start the lemon-dill beurre blanc base
In a small saucepan, combine the minced shallot, ½ cup white wine, lemon zest, and ¼ tsp black pepper. Set the pan over medium heat and bring to a gentle simmer.
Cook, stirring occasionally, until the liquid has reduced to a syrupy consistency and you have about 2 tablespoons of liquid left in the pan, about 5–7 minutes. Watch it closely near the end so it does not boil dry. Once reduced, lower the heat to the lowest setting. If your stove runs hot, you can even pull the pan off the heat while you sear the salmon, then finish the sauce afterward.
Step 5: Sear the salmon skin-side down
Heat a large heavy skillet (cast iron or stainless steel works best) over medium-high heat for 2–3 minutes, until hot. Add the 2 tbsp neutral oil and swirl to coat the pan.
Carefully place the salmon fillets in the skillet skin-side down. You should hear a lively sizzle. Immediately use a flat spatula to press each fillet gently but firmly for the first 20–30 seconds to keep the skin from curling.
Cook the salmon without moving it for 5–7 minutes, adjusting the heat as needed, until the skin is deeply golden and crisp and the salmon looks opaque about two-thirds to three-quarters of the way up the sides. Flip each fillet and cook for another 1–2 minutes, just until the salmon reaches your desired doneness (about 125°F / 52°C for medium, 130°F / 54°C for medium-well). Transfer to a warm plate, skin-side up, and let rest for a few minutes while you finish the sauce.
Step 6: Finish the lemon-dill beurre blanc
Return the reduced wine-shallot mixture to very low heat, if you removed it. Add a few cubes of cold butter and whisk constantly until they are almost fully melted and the mixture looks creamy. Continue adding butter a few cubes at a time, whisking steadily, allowing each addition to emulsify before adding more. The goal is a thick, glossy sauce that lightly coats the back of a spoon.
Once all the butter is incorporated, remove the pan from the heat. Stir in the 2 tbsp lemon juice, chopped dill, and ¼ tsp salt. Taste and adjust: add a little more lemon juice for brightness or a pinch more salt if needed. If you prefer a very smooth sauce, you can strain out the shallots, but many people enjoy the texture and flavor they provide. Keep the sauce warm over the lowest heat or by setting the pan over a warm (not hot) burner; do not let it boil or it may separate.
Step 7: Plate and serve
To serve, arrange a generous scoop of roasted vegetables in the center of each plate. Place a salmon fillet on top, skin-side up so it stays crisp. Spoon the warm lemon-dill beurre blanc over the salmon and around the vegetables, leaving some of the skin exposed for texture.
Garnish with extra fresh dill and lemon wedges, if you like. Serve immediately while everything is hot and the sauce is silky.
Pro Tips
- Keep the butter cold: For a stable beurre blanc, the butter must be cold and added gradually. If the sauce gets too hot or boils, it can split.
- Dry the salmon well: Moisture is the enemy of crispy skin. Pat thoroughly with paper towels just before seasoning and searing.
- Do not overcrowd the pan: If your skillet is small, sear the salmon in two batches so the fillets have space and sear instead of steam.
- Watch the vegetables, not the clock: Oven strengths vary. Look for deeply golden edges and fork-tender centers as your best doneness indicator.
- Serve the sauce right away: Beurre blanc is best enjoyed freshly made. If it starts to cool and thicken too much, whisk in a teaspoon of hot water to loosen.
Variations
- Herb swap: Replace dill with tarragon, chives, or parsley for a different but equally delicious flavor profile.
- Vegetable mix-up: Try Brussels sprouts, green beans, or cauliflower instead of (or in addition to) the asparagus and carrots, adjusting roasting times as needed.
- Creamy twist: For a slightly richer sauce, whisk in 2–3 tbsp heavy cream to the reduced wine before adding the butter.
Storage & Make-Ahead
This dish is at its best fresh, but you can still plan ahead:
Make-ahead: You can chop the shallot, dill, and vegetables up to 1 day in advance and store them in airtight containers in the refrigerator. The potatoes and carrots can be partially roasted (about 15 minutes), cooled, and finished just before serving.
Leftovers: Store leftover salmon and roasted vegetables in an airtight container in the refrigerator for up to 2 days. The beurre blanc does not store well as a classic sauce, but any extra can be cooled and used the next day as a flavored butter (it will solidify; melt gently over vegetables or fish).
Reheating: Reheat salmon gently in a 300°F (150°C) oven for 8–10 minutes, loosely covered, until just warmed through to avoid drying it out. Reheat vegetables on a baking sheet in the same oven for 10–12 minutes. If you have leftover sauce, warm it very gently over low heat, whisking constantly; add a teaspoon or two of warm water if it looks too thick.
Nutrition (per serving)
Approximate values per serving (1 salmon fillet, about 1 ½ cups roasted vegetables, and a generous portion of sauce):
Calories: ~650 kcal; Protein: ~38 g; Fat: ~44 g; Saturated Fat: ~17 g; Carbohydrates: ~26 g; Fiber: ~5 g; Sodium: ~650 mg. Actual values will vary based on the exact ingredients and portion sizes used.
