Gravlaks with Mustard-Dill Sauce

Food

Gravlaks with Mustard-Dill Sauce

Forty-eight hours to transform salmon into something ancient and perfect

Prep 30 min
Cook 0 min
Servings 10
The word gravlaks is Norse, and it means approximately what you would expect: "buried salmon." The original technique involved salting the fish and burying it in the ground to ferment — a preservation method from an era when refrigeration was a northern winter and nothing else. The modern version skips the burial and the fermentation, retaining only the salt cure and the dill, and produces something entirely different: not preserved fish in the ancient, pungent sense, but salmon that has been changed in a gentler direction — firmer in texture, more concentrated in flavour, deeply perfumed with fresh herbs. It is, by the standards of the kitchen, almost nothing to make. You mix salt and sugar, add dill, press the mixture onto a salmon fillet, weight it, and wait two days. The waiting is the technique. During those forty-eight hours the salt draws moisture from the fish, the sugar offsets the brine, and the dill works its way into the flesh from the outside. What emerges is a different ingredient from the one you started with — thinly sliced, translucent, a deep terracotta at the edges, the colour of the midnight sun over Bergen. The mustard-dill sauce — Hovmästarsås in Swedish, "the head waiter's sauce" — is the traditional accompaniment and one of the more satisfying condiments in Scandinavian cooking. It is sharp, sweet, herbal, and rich simultaneously. Serve the gravlaks on dark rye bread with the sauce, alongside boiled potatoes if you want a proper meal, or on thin flatbreads for something simpler.

Scale Recipe

1 10 20

Instructions

0/7 complete

Check and prepare the salmon

Run your fingers along the flesh side of the salmon to locate pin bones. Remove any you find with tweezers or needle-nose pliers, pulling firmly in the direction of the bone. Pat the fillet dry with paper towels.

Mix the cure

In a bowl, combine the salt, sugar, chopped dill and cracked white pepper. If using aquavit or gin, add it and mix until the cure is evenly moistened.

Apply and press

Line a glass or ceramic dish (large enough to hold the fillet flat) with cling film, leaving plenty of overhang. Spread a third of the cure on the base. Place the salmon skin-side down on the cure. Press the remaining cure firmly onto the flesh side, packing it into the surface. Fold the cling film over and press tightly. Place a second dish or flat board on top, then weight it with tins or a cast iron pan — 2–3kg of weight.

Cure in the refrigerator

Refrigerate for 24–48 hours. After 12 hours, flip the fillet (still wrapped), drain any accumulated liquid, re-weight and return to the fridge. A 24-hour cure gives a lighter, more delicate result. 48 hours produces a more pronounced, firmer gravlaks that slices more cleanly. For a first attempt, 36 hours is a good middle point.

The longer the cure, the more the texture transforms and the more pronounced the salt flavour.

Make the mustard-dill sauce

Whisk together the two mustards, sugar and vinegar until smooth. While whisking continuously, add the neutral oil in a slow, steady stream — as if making mayonnaise — until the sauce is thick and emulsified. Fold in the chopped dill. Season with salt and white pepper. The sauce should be glossy, spoonable and sharp. Refrigerate until serving.

Rinse and dry

Remove the cured salmon from the cling film. Rinse briefly under cold water to remove the cure — not thoroughly, just enough to remove the thick salt layer. Pat completely dry with paper towels. The flesh should be noticeably firmer than when you started.

Slice and serve

Place the salmon skin-side down on a board. Using a long, sharp, thin-bladed knife, cut on a long diagonal — 45° angle to the fillet — in thin slices of 2–3mm, cutting away from the skin. Each slice should be nearly translucent. Arrange overlapping on a plate.

The long diagonal cut is not decoration. It exposes more surface area and produces a more tender slice.

<button type="button" class="group/star p-0.5 transition-transform hover:scale-110 focus:outline-none focus-visible:ring-2 focus-visible:ring-citrus-400 rounded" hx-post="/api/community/rate" hx-vals='{&quot;slug&quot;:&quot;gravlaks-mustard-dill&quot;,&quot;rating&quot;:1}' hx-target="#engagement-section" hx-swap="outerHTML" aria-label="Rate 1 out of 5" > <svg class="w-7 h-7 text-salt-300 group-hover/star:text-citrus-300 transition-colors" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" > <path stroke-linecap="round" stroke-linejoin="round" d="M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.562.562 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.562.562 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z" /> </svg> </button> <button type="button" class="group/star p-0.5 transition-transform hover:scale-110 focus:outline-none focus-visible:ring-2 focus-visible:ring-citrus-400 rounded" hx-post="/api/community/rate" hx-vals='{&quot;slug&quot;:&quot;gravlaks-mustard-dill&quot;,&quot;rating&quot;:2}' hx-target="#engagement-section" hx-swap="outerHTML" aria-label="Rate 2 out of 5" > <svg class="w-7 h-7 text-salt-300 group-hover/star:text-citrus-300 transition-colors" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" > <path stroke-linecap="round" stroke-linejoin="round" d="M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.562.562 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.562.562 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z" /> </svg> </button> <button type="button" class="group/star p-0.5 transition-transform hover:scale-110 focus:outline-none focus-visible:ring-2 focus-visible:ring-citrus-400 rounded" hx-post="/api/community/rate" hx-vals='{&quot;slug&quot;:&quot;gravlaks-mustard-dill&quot;,&quot;rating&quot;:3}' hx-target="#engagement-section" hx-swap="outerHTML" aria-label="Rate 3 out of 5" > <svg class="w-7 h-7 text-salt-300 group-hover/star:text-citrus-300 transition-colors" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" > <path stroke-linecap="round" stroke-linejoin="round" d="M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.562.562 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.562.562 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z" /> </svg> </button> <button type="button" class="group/star p-0.5 transition-transform hover:scale-110 focus:outline-none focus-visible:ring-2 focus-visible:ring-citrus-400 rounded" hx-post="/api/community/rate" hx-vals='{&quot;slug&quot;:&quot;gravlaks-mustard-dill&quot;,&quot;rating&quot;:4}' hx-target="#engagement-section" hx-swap="outerHTML" aria-label="Rate 4 out of 5" > <svg class="w-7 h-7 text-salt-300 group-hover/star:text-citrus-300 transition-colors" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" > <path stroke-linecap="round" stroke-linejoin="round" d="M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.562.562 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.562.562 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z" /> </svg> </button> <button type="button" class="group/star p-0.5 transition-transform hover:scale-110 focus:outline-none focus-visible:ring-2 focus-visible:ring-citrus-400 rounded" hx-post="/api/community/rate" hx-vals='{&quot;slug&quot;:&quot;gravlaks-mustard-dill&quot;,&quot;rating&quot;:5}' hx-target="#engagement-section" hx-swap="outerHTML" aria-label="Rate 5 out of 5" > <svg class="w-7 h-7 text-salt-300 group-hover/star:text-citrus-300 transition-colors" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" > <path stroke-linecap="round" stroke-linejoin="round" d="M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.562.562 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.562.562 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z" /> </svg> </button>

Be the first to rate