Fiskesuppe: Norwegian Creamy Fish Soup
Cod, root vegetables and a broth built from the bones you were going to bin

Contents
↓ Jump to recipeThe version of this soup sold in cartons across Norway tastes of milk powder and disappointment. The version made in twenty minutes from bones the fishmonger was going to throw in the bin tastes like the inside of a fjord. The gap between the two is a stockpot and half an hour of your attention, which is a remarkably good exchange rate.
I came to fiskesuppe the way most people outside Norway do — through a bowl of it in Bergen, on a wet afternoon at the fish market, eaten standing up because there was nowhere to sit. It was pale, thick enough to coat the spoon, sweet from carrot and sharp from vinegar, and it had chunks of cod in it that fell apart the moment they met the spoon. I have been chasing that bowl ever since. The chase ended when I stopped treating the broth as an ingredient and started treating it as the whole point.
The twist here is brown butter, poured over at the last second. It is a modern addition, and it fixes the one thing that even good fiskesuppe struggles with — the flatness that creeps in when cream and white fish meet without anything toasted to argue with them.
Fiskesuppe: Norwegian Creamy Fish Soup
Ingredients
- 800 g cod or haddock fillet, skinned and pin-boned (keep the skin and bones)
- 500 g fish bones and heads from white fish, gills removed (ask the fishmonger)
- 1 leek, split lengthways and rinsed
- 1 onion, halved
- 2 bay leaves
- 8 white peppercorns
- 1.5 litres cold water
- 150 ml dry white wine
- 60 g unsalted butter
- 40 g plain flour
- 200 g celeriac, cut into 1 cm dice
- 2 medium carrots (about 180 g), cut into 5 mm coins
- 1 medium floury potato (about 150 g), cut into 1.5 cm dice
- 300 ml double cream
- 2 tsp white wine vinegar
- 1 tsp caster sugar
- 1.5 tsp fine sea salt, plus more to taste
- 200 g raw peeled prawns (optional)
- 20 g dill, fronds picked and roughly chopped
- 20 g chives, finely sliced
- 1 tbsp unsalted butter, for browning at the end
Method
- Rinse the fish bones and heads under cold running water for 2 minutes until no blood shows. Remove and discard any gills — they turn the broth bitter.
- Put the bones, the green top half of the leek, the halved onion, bay leaves and peppercorns in a large pan. Add the 1.5 litres cold water and the white wine. Bring slowly to a bare simmer over medium-low heat, skimming off the grey foam as it rises.
- Simmer gently for 25 minutes — never boil, and never longer than 30 minutes, or the broth goes glue-like and sour. Strain through a fine sieve and discard the solids. You want about 1.2 litres.
- Wipe out the pan. Melt the 60 g butter over medium heat, whisk in the flour and cook the roux for 2 minutes until it smells of biscuits and turns pale straw.
- Add the hot broth a ladleful at a time, whisking smooth after each addition. Bring to a simmer; it will thicken to the consistency of single cream in about 4 minutes.
- Add the celeriac and carrots. Simmer for 8 minutes. Add the potato and simmer for a further 8 minutes, until everything is tender to the tip of a knife.
- Slice the white half of the leek into 5 mm half-moons and add them with the double cream. Return to a bare simmer.
- Season with the vinegar, sugar and salt. Taste: it should read sweet, then sharp, then salty, in that order.
- Cut the fish into 3 cm chunks. Slide them into the soup, turn off the heat, cover and leave for 5 minutes. Add the prawns, if using, for the last 2 minutes. The residual heat cooks them through without breaking the flakes.
- In a small pan, melt the remaining 1 tbsp butter over medium heat and swirl for 2–3 minutes until the milk solids turn hazelnut brown. Pour it over the soup.
- Scatter with dill and chives and serve immediately, with dark rye bread.
Where this soup comes from
Norway’s coastline, unrolled, runs to something like 100,000 kilometres once you count the fjords and islands, and for most of recorded history the people living on it ate what came off it. Cod dominated. The Lofoten fishery has been sending dried cod south since at least the twelfth century — Bergen’s Bryggen wharf was built on it, and the Hanseatic League ran the trade from there for four hundred years.
But fiskesuppe as we know it is younger than that, and its shape is European rather than Viking. The roux — butter and flour cooked together, then loosened with liquid — arrives in Norwegian cooking through Danish and German kitchens in the eighteenth and nineteenth centuries, when Denmark ruled Norway and Danish was the written language of the educated classes. The cream comes later still, once dairy became reliable inland and the railways moved it. What is genuinely Norwegian is the balance: the vinegar and sugar, tuned against each other, in a soup that in France or Britain would have been left sweet and heavy.
That sweet-sour finish is the fingerprint. Head to Bergen and you will find bergensk fiskesuppe seasoned assertively enough that first-timers ask whether something has gone wrong. It has not. The acid is doing structural work. Cream and white fish are both low-contrast flavours, and without something to cut against, the bowl goes muddy by the fourth spoonful.
Regional variation is real and worth knowing. Northern versions lean on more root vegetable and less cream. Coastal versions from the west throw in whatever the boat landed, so you might get mussels, prawns, a bit of salmon belly. Inland, you sometimes see it thickened with potato alone and no roux at all. All of them are correct in their own kitchens. The Bergen version is simply the one that travelled.
The broth is the entire argument
Here is the thing I wish somebody had told me a decade ago: fish stock is the fastest stock there is, and the only one that gets worse the longer you cook it.
Chicken bones want four hours. Beef bones want eight. Fish bones want twenty-five minutes and then they want to be taken out. Fish frames are mostly thin cartilage and small bones, and their gelatine dissolves fast. Push past half an hour and you start extracting compounds from the bones themselves that read as bitter and chalky, and the broth develops that unmistakable school-canteen smell. Twenty-five minutes at a bare shiver, then strain. That is the whole technique.
Two more rules that matter more than they sound:
Rinse the bones properly. Blood in the frame clouds the broth and gives it a metallic edge. Run them under cold water until the water runs clear — two minutes, usually. Pull out the gills if the heads are still attached; they are the single most reliable source of bitterness in the pot.
Never let it boil. A rolling boil emulsifies fat and albumen into the liquid, and you cannot get them back out. You are aiming for the surface to tremble, with a bubble breaking every few seconds. If you can hear it from the next room, the heat is too high.
Ask your fishmonger for frames — they usually cost nothing, or close to it, because the alternative is paying to have them collected. Turbot and halibut frames make the most luxurious broth. Cod and haddock are the honest default. Avoid oily fish entirely: salmon and mackerel bones give a broth that tastes like the bin bag on day three.
Building the soup
The roux wants two minutes and no more. You are cooking out the raw-flour taste while keeping the colour pale — a blonde roux thickens more powerfully than a browned one, because toasting breaks down the starch chains that do the thickening. Cook it to the point where it smells faintly of digestive biscuits, then stop.
Add the broth hot, and add it slowly at first. The classic lump-free technique is to add the first ladleful in a thin stream and whisk it to a thick paste before the second goes in. Whisking harder does nothing. Once you have a smooth paste, the rest can go in fast.
Vegetables go in by cooking time, which is why the celeriac gets an eight-minute head start on the potato. Celeriac is the ingredient that lifts this soup out of the ordinary. It brings a savoury, faintly aniseed depth that carrot alone cannot reach, and it holds its shape where potato dissolves. If you can only find swede, use it and expect a sweeter bowl.
The fish goes in off the heat. That is arithmetic rather than caution. Cod flakes set at around 55°C, and a 3 cm chunk in a covered pan of 85°C soup arrives there in about five minutes. Simmer it actively instead and the outside hits 70°C, the muscle proteins squeeze out their water, and you get chalky fish in a cloudy soup. Turn the heat off, put the lid on, walk away.
Seasoning, and why the order matters
Season in this sequence: sugar, vinegar, salt. Taste after each.
The sugar rounds off the sharp edge of the vinegar — a single teaspoon in 1.5 litres never registers as sweetness on its own and lets you use more acid than you otherwise could. The vinegar then cuts the cream. The salt arrives last because cream mutes salt perception, and you will under-season if you salt before the cream goes in.
If your soup tastes flat, it almost always wants acid. Add a teaspoon of vinegar and taste again before you reach for the salt tin. This is true of about eighty per cent of the soups I have ever rescued.
Tips, substitutions and what goes wrong
Curdling. Double cream at 48% fat will not split at a simmer. Single cream (18%) and crème fraîche both can, especially once the vinegar is in. If you are substituting, add the acid first, taste, then stir the cream in off the heat.
Too thin. Mash a few of the potato dice against the side of the pan with a fork and stir. Free thickening, no extra flour.
Too thick. Loosen with hot broth if you kept any back, or with whole milk. Water dilutes the flavour proportionally, which you can feel immediately.
No fish frames. Use 1.2 litres of good shop-bought fish stock and add the prawn shells, if you are using prawns, simmered in it for 10 minutes. It will be a decent soup, and it will taste like a decent soup rather than the Bergen one.
Watery vegetables. If your carrots release enough liquid to thin the soup, you cut them too thick and cooked them too long. Five-millimetre coins are done in eight minutes; centimetre chunks need fifteen, by which time the celeriac has collapsed.
The fish falls apart into shreds. Two causes. Either the chunks were too small — anything under 3 cm has no structural integrity once the flakes separate — or the fish was previously frozen and thawed in water, which ruptures the cell walls. Thaw fish overnight in the fridge on a rack, uncovered, and it holds together far better.
Making it ahead. The broth keeps for three days in the fridge and freezes for three months. The finished soup, up to the point before the fish goes in, holds for two days — reheat gently to 85°C, then add the fish. A fiskesuppe that has been reheated with the fish already in it is a different and much sadder dish.
Variations worth trying
Swap a third of the cod for hot-smoked salmon, added at the very end, and you are heading towards lohikeitto — Finland’s version leans on dill and allspice and skips the roux entirely, which is a genuinely different soup rather than a lesser one.
Add 200 g of mussels, steamed open separately in a splash of the wine, and pour their strained liquor into the broth. Free flavour, and the shells look magnificent in the bowl.
For a heartier version, leave out the cream, double the potato and finish with a spoon of soured cream in each bowl. This is closer to the Icelandic approach — see plokkfiskur, where the potato and the fish stop being separate things altogether.
Serve it with dark rye. A slice of Danish rugbrød, buttered heavily, is the correct partner — the sourness in the bread does the same job the vinegar does in the bowl, and the two together make sense of the whole plate. If there is gravlax in the fridge, put a slice on the rye and call it lunch.
A note on which fish to buy
Buy fillets with the skin still on and take it off yourself, because skin-on fillets tell you the truth about freshness — the skin should be tight, shiny and slippery rather than tacky, and it should smell of nothing much at all. Then throw the skin into the broth pot with the frames. It is pure gelatine and it gives the soup a body that flour alone cannot fake.
Line-caught cod is worth the money here, and not for reasons of virtue. Trawled fish spends time crushed under several tonnes of other fish, and the bruising shows up in the pot as grey, soft patches that never firm up. If the fishmonger has skrei — the migratory Arctic cod that runs to Lofoten between January and April — buy it without asking the price. It is the same species, worked harder, and the flesh is denser for it.
One last thing. Make the broth on a Sunday, freeze it in 600 ml batches, and this becomes a twenty-minute weeknight soup. That is the actual reason to learn it.




