This comforting fish soup brings tender white fish and optional shrimp together with carrots, leeks, potatoes and tomatoes in a fragrant, savory broth. Sauté onion and leek in olive oil, add garlic and vegetables, deglaze with white wine, then add tomatoes, stock and herbs and simmer 15 minutes. Gently poach fish and shrimp 5–7 minutes, season, garnish with parsley and lemon; serve with crusty bread.
The rain was hammering against the kitchen window the evening I threw together my first fish soup, more out of stubbornness than skill. I had bought cod at the market on a whim, ignoring the fact that I had never actually cooked fish in soup before. The house smelled like the seaside within an hour, and my roommate walked in asking if we had magically moved to a coastal village. That pot disappeared in one night.
I made this for my sister the week she moved into her first apartment, when her kitchen was still half unpacked and we were eating off mismatched bowls. She dipped a torn piece of baguette into the broth, went completely silent, and then whispered that this was better than any restaurant meal she had ever had. We still talk about that night every winter.
Ingredients
- White fish fillets (400 g): Cod or haddock work beautifully, and cutting them into generous chunks keeps the pieces tender rather than mushy.
- Shrimp (150 g, optional): They add a lovely sweetness and make the soup feel a bit more indulgent.
- Onion (1 large): The backbone of the broth base, so dont skimp on cooking it until truly soft.
- Garlic (2 cloves): Fresh minced garlic stirred in at the right moment gives a warmth that powder simply cannot replicate.
- Carrots (2): Sliced thin enough to cook through but thick enough to hold their shape and add color.
- Leek (1): Clean it thoroughly, as hidden grit will ruin an otherwise silky broth.
- Potatoes (2 medium): They give body and heartiness, turning this from a light starter into a proper meal.
- Celery (2 stalks): An underrated team player that brings a quiet earthiness to every spoonful.
- Chopped tomatoes (1 can, 400 g): They provide acidity and depth, balancing the richness of the seafood.
- Fish stock (1 L): The soul of the soup, though vegetable stock works in a pinch if that is what you have.
- Dry white wine (100 ml): It lifts the entire broth, and the alcohol cooks off so only brightness remains.
- Olive oil (2 tbsp): Good quality oil makes a noticeable difference here since the flavor list is simple.
- Bay leaf, thyme, and oregano: Just a pinch each of the dried herbs goes a long way in building the aromatic base.
- Salt and pepper: Season gradually and taste as you go, because the stock already carries salt.
- Fresh parsley and lemon wedges: Never skip the lemon squeeze at the end, as it wakes up every flavor in the bowl.
Instructions
- Build the foundation:
- Warm the olive oil in a large heavy pot over medium heat, then slide in the onion and leek. Let them soften slowly for about five minutes until they turn translucent and smell gently sweet.
- Add the hearty vegetables:
- Stir in the garlic, carrots, celery, and potatoes, letting them mingle with the onion base for another five minutes. You want the edges to just begin softening and the garlic to become fragrant without browning.
- Deglaze and build the broth:
- Pour in the white wine and let it bubble for two minutes, scraping up any bits stuck to the bottom. Add the chopped tomatoes, fish stock, bay leaf, thyme, and oregano, then bring everything to a boil.
- Simmer until tender:
- Reduce the heat, cover the pot, and let it simmer gently for about fifteen minutes until the potatoes and carrots yield easily to a fork. The broth will deepen in color and smell incredible.
- Cook the seafood:
- Slide the fish chunks and shrimp into the bubbling broth and simmer for five to seven minutes more. The fish is ready when it flakes apart at the gentlest nudge and the shrimp curl into tight pink crescents.
- Finish and serve:
- Taste the broth and adjust salt and pepper to your liking, then fish out the bay leaf. Ladle into wide bowls, scatter fresh parsley over the top, and serve with a generous lemon wedge on the side.
There is something about carrying a steaming bowl of fish soup to the table that makes everyone sit up straighter and reach for bread without being asked.
Getting the Broth Just Right
The broth carries this entire dish, so treat it with care from the first chopped onion to the final lemon squeeze. Use a stock you actually enjoy tasting on its own, because every flaw gets amplified as the soup reduces. Let the wine cook down properly before adding the tomatoes and stock, as rushing that step leaves a harsh edge that no amount of salt can fix.
Choosing the Best Fish
Firm white fish like cod and haddock hold their shape best in simmering liquid, which is exactly what you want for spoonable chunks rather than shreds. If you want a deeper, smokier flavor, swapping in a portion of smoked fish is a brilliant twist that turns the broth golden and complex. Frozen fillets work fine as long as you thaw them completely and pat them dry before cutting.
Serving and Storing
This soup is at its most satisfying with something crusty alongside to mop up every last drop of broth. It keeps well in the refrigerator for up to two days, though the fish becomes more delicate on reheating so use a gentle hand.
- Crusty sourdough or a rustic baguette is the ideal companion for dipping.
- A pinch of chili flakes on top adds a warming kick without overpowering the seafood.
- Always reheat slowly over low heat to keep the fish pieces intact.
Some meals simply make the world outside feel a little quieter, and a good fish soup has always been one of them. Ladle it generously, share it freely, and let the broth do the talking.
Recipe FAQ
- → What types of fish work best?
-
Firm white fish like cod, haddock or pollock hold up well; salmon or smoked fish add a richer flavor if preferred.
- → Can I use frozen seafood?
-
Yes. Thaw and pat dry before adding; frozen fish may release extra water so add it near the end to avoid overcooking.
- → How do I know the fish is cooked?
-
Fish is done when it flakes easily with a fork and is opaque throughout—usually 5–7 minutes of gentle simmering for chunks.
- → How can I make the broth spicier?
-
Add a pinch of chili flakes or a diced fresh chili when sautéing the aromatics, or finish with a dash of hot sauce to taste.
- → What are good side options?
-
Crusty bread is classic for soaking up the broth; a simple green salad or steamed greens balance the meal nicely.
- → Can I make a creamier version?
-
Stir in a splash of cream or a dollop of crème fraîche at the end for richness; note this adds dairy.