Culinary Explorer

A cooking platform built around craft, culture, and the stories behind what we eat.

Discover Culinary Explorer
Sopa de Peixe

Sopa de Peixe

Created by

The fish soup of Portuguese coastal kitchens, where the morning catch meets the slow refogado and stale bread waits in the bowl to drink every drop of that golden broth.

Soups & Stews
Portuguese
Comfort Food
Weeknight
25 min
Active Time
45 min cook1 hr 10 min total
Yield6 servings

This is what happens when fishermen come home and their wives make do with what the sea gave that day. No recipe, really. Just the refogado that starts everything, whatever fish was too battered to sell, some potatoes, and bread waiting in the bowl.

Avó Leonor didn't cook much fish (Alentejo is landlocked, after all), but when we'd visit cousins in Setúbal, their grandmother made this soup. I remember standing in her kitchen watching her build the refogado with the patience of someone who understood that this step was everything. Cebola, alho, tomate. Onion, garlic, tomato. Low heat. No rushing. The tomatoes had to collapse completely before she added water.

The fish goes in at the end. This is important. Overcooked fish turns to mush and disappears into the broth. You want pieces you can see, tender but holding their shape. And you want variety: a firm white fish for texture, something oilier for richness. The boats didn't bring one perfect fillet. They brought whatever they had.

The bread is not a side dish here. Tear it into chunks and put it in the bowl before you ladle the soup. The bread drinks the broth. That's the point. That's why day-old bread exists in Portuguese cooking: not because we were too poor for fresh bread, but because stale bread does things fresh bread cannot.

Sopa de peixe evolved in fishing villages along Portugal's coast, from the Algarve to Minho, as a way to use fish too damaged or small to sell at market. Each region developed its own version: the Algarve adds more tomato and coentros, the north uses less tomato and sometimes adds rice. The soup represents the Portuguese philosophy of waste nothing, flavor everything.

The technique, the tradition, and the story behind every dish.

Discover Culinary Explorer

Ingredients

extra virgin olive oil (azeite)

Quantity

1/3 cup

onions

Quantity

2 medium

halved and sliced thin

garlic

Quantity

4 cloves

minced

bay leaves

Quantity

2

sweet paprika (pimentão doce)

Quantity

1 teaspoon

ripe tomatoes

Quantity

400g

peeled and chopped

fish stock or water

Quantity

1.5 liters

waxy potatoes

Quantity

500g

peeled and cut into chunks

mixed firm white fish

Quantity

800g

cut into large pieces

clams or mussels (optional)

Quantity

200g

scrubbed

fresh cilantro (coentros)

Quantity

1 large bunch

roughly chopped

fine sea salt

Quantity

to taste

black pepper

Quantity

to taste

freshly ground

day-old crusty bread

Quantity

300g

torn into chunks

extra virgin olive oil

Quantity

for drizzling

Equipment Needed

  • Large heavy-bottomed pot or Dutch oven (at least 5 liters)
  • Deep soup bowls

Instructions

  1. 1

    Build the refogado

    Heat the olive oil in a large heavy pot over medium-low heat. Add the onions and cook slowly, stirring occasionally, until they become completely soft and golden, about 15 minutes. The onions should practically melt. Add the garlic, bay leaves, and paprika. Stir for another minute until fragrant. This is the foundation of everything. Não tenhas pressa.

    If you rush the refogado, you've ruined the soup before it even begins. The onions need time to surrender their sweetness. This is non-negotiable.
  2. 2

    Add the tomatoes

    Add the chopped tomatoes to the pot. Increase heat slightly and cook, stirring often, until the tomatoes break down completely and the mixture becomes thick and jammy, about 10 minutes. The color will deepen to a rich brick red. You should be able to draw a wooden spoon across the bottom of the pot and see the trail before it fills in. That's when you know it's ready.

  3. 3

    Build the broth

    Pour in the fish stock or water. Add the potato chunks. Season with salt and pepper. Bring to a gentle boil, then reduce to a simmer. Cook until the potatoes are just tender when pierced with a knife, about 15 to 20 minutes. The broth should taste good on its own at this point. Taste it. Adjust the salt.

  4. 4

    Add the fish

    Nestle the fish pieces into the simmering broth, pushing them down gently so they're submerged. If using clams or mussels, add them now as well. Cover and cook until the fish is just opaque and flakes easily, about 8 to 10 minutes. The shellfish should open. Don't stir vigorously or you'll break the fish apart. Gentle is the word here.

    The fish cooks faster than you think. Start checking at 7 minutes. Overcooked fish disappears into the broth. You want to see the pieces.
  5. 5

    Finish with coentros

    Remove the pot from heat. Stir in most of the chopped coentros, reserving some for garnish. The residual heat will wilt the herbs just enough. Taste once more. Adjust seasoning if needed.

  6. 6

    Assemble and serve

    Divide the torn bread among deep bowls. Ladle the soup over the bread, making sure each bowl gets fish, potatoes, and plenty of broth. The bread will drink the liquid and soften but not dissolve. Scatter the remaining coentros on top. Drizzle generously with your best olive oil. Serve immediately with more bread on the side for those who want to mop up every last drop. They will.

Chef Tips

  • Use whatever firm white fish looks freshest at the market. Traditionally this was made with whatever the boats brought in. A mix of textures is better than one perfect fillet. Ask your fishmonger what's good today.
  • If you can get fish heads and bones, make a quick stock: simmer them with an onion, bay leaf, and parsley stems for 30 minutes, then strain. The soup will be twice as good.
  • The bread must be day-old. Fresh bread turns to paste. If your bread is too fresh, slice it and leave it out uncovered overnight, or toast it lightly in the oven.
  • In the Algarve, they add more coentros and sometimes a splash of white wine. In the north, they might skip the coentros entirely and add a handful of rice instead of bread. Both are correct. Regional variations are not mistakes.

Advance Preparation

  • The refogado base (through step 2) can be made up to 2 days ahead and refrigerated. Bring to a simmer before continuing.
  • Fish stock can be made 3 days ahead or frozen for up to 3 months.
  • The completed soup cannot be reheated successfully. The fish will overcook. Make it fresh and serve immediately.

Frequently Asked Questions

Nutrition Information

1 serving (about 630g)

Calories
545 calories
Total Fat
20 g
Saturated Fat
3 g
Trans Fat
0 g
Unsaturated Fat
16 g
Cholesterol
90 mg
Sodium
870 mg
Total Carbohydrates
48 g
Dietary Fiber
5 g
Sugars
6 g
Protein
41 g

Note: Chef personas and recipes are created with AI assistance. Cook with care: follow safe food-handling practices, check doneness with a thermometer when needed, and adapt for allergies and your kitchen.

Where cooking meets culture.

Culinary guides, cultural storytelling, and the editorial depth that makes cooking meaningful.

Discover Culinary Explorer

More from Chef Margarida's Soups and Stews

Browse the full collection