National Dish Italy: Zuppa di Pesce (Recipe)

In this article
Dive into the flavours of the Tuscan coast with Zuppa di Pesce, a soul-warming Italian fish soup that gathers the best of the sea into one glorious pot. Tender fish and seafood simmer gently in an aromatic tomato broth lifted with garlic, white wine and a whisper of chilli. Rustic, generous and endlessly forgiving, it is the kind of dish that turns a simple supper into a coastal feast — and brings the spirit of an Italian harbour town straight to your table.
About Zuppa di Pesce
Zuppa di Pesce is a traditional Italian fish soup with deep roots along the Tuscan coast, particularly around the port of Livorno. The dish brings together several varieties of fish and seafood in a fragrant tomato sauce, building layers of flavour that taste of the Mediterranean. Almost every family keeps its own version, which makes Zuppa di Pesce a wonderfully varied dish — yet one thing never changes: the unmistakable seasoning and the rich, savoury depth that make it so memorable.
Ingredients (serves 1–2)
- 250 g mixed fish fillets (e.g. monkfish, red mullet)
- 200 g seafood (prawns, squid, mussels)
- 1 onion, finely chopped
- 2 cloves garlic, finely chopped
- 400 g tomatoes, chopped (tinned or fresh)
- 2 tablespoons tomato purée
- 250 ml fish stock
- 100 ml white wine
- 2 tablespoons olive oil
- Salt and pepper, to taste
- Fresh parsley, chopped
- Chilli flakes, to taste
Shopping for the ingredients
When shopping for Zuppa di Pesce, it pays to seek out fresh, top-quality produce, as good fish and seafood make all the difference to the finished soup. Head to a local fish market or a trusted fishmonger to pick out the best of the day’s catch. If you are using tinned tomatoes, choose a good brand — or reach for ripe, fresh tomatoes when they are in season. Quality ingredients here are well worth the small extra effort.
Preparing the dish
Before you start cooking, it helps to have everything washed, cut and sorted. Cut the fish fillets into bite-sized pieces and clean the seafood thoroughly. Finely chop the onion and garlic so they melt down quickly in the pan. Peel the tomatoes if you like, or use them straight from the tin. Roughly chop the parsley and set it aside, ready for the final garnish. A little preparation now keeps the cooking calm and unhurried.
Step-by-step instructions
- Heat the olive oil in a large pot and sweat the onion and garlic until soft.
- Stir in the tomato purée and let it toast briefly to deepen the flavour.
- Add the chopped tomatoes and stir well to combine.
- Pour in the white wine and bring to a quick boil.
- Add the fish stock and bring everything to a gentle simmer.
- Add the fish and seafood and cook for around 10–15 minutes, until tender.
- Season to taste with salt, pepper and chilli flakes.
- Scatter over the fresh parsley and serve.
Gluten-free / lactose-free version
The original recipe for Zuppa di Pesce is naturally gluten-free and lactose-free, which makes it a wonderfully inclusive dish. Simply check that every ingredient you use — especially the stock or any ready-made additions — contains no hidden gluten or lactose. When in doubt, read the labels carefully, or make homemade versions of those components so you stay in full control. As with the lighter Zuppa Toscana, a few small swaps keep everyone at the table happy.
Tips for vegans and vegetarians
For a vegan or vegetarian take on Zuppa di Pesce, swap the fish and seafood for plant-based alternatives such as tofu, seitan or a mix of mushrooms. A little seaweed works beautifully to mimic that briny “taste of the sea”. Use a good vegetable stock in place of the fish stock and adjust the seasoning to your liking. The result is a completely new dish that still captures the warmth and comfort of the original.
More tips and tricks
There are plenty of ways to refine Zuppa di Pesce. A few threads of saffron add an even deeper, more luxurious note to the broth, while fresh herbs such as thyme or rosemary bring extra fragrance. Just before serving, a little freshly grated lemon zest lifts the whole dish with a bright, fresh finish. Take your time letting the soup simmer, and the flavours will reward your patience.
Adapting the recipe to your taste
The recipe for Zuppa di Pesce is hugely flexible and easy to shape around your own preferences. If you are not keen on heat, leave out the chilli flakes or reduce them to a pinch. The choice of fish and seafood can vary freely depending on what looks freshest and what you enjoy most. Experiment with different combinations until you land on your own perfect version of this coastal classic.
Ingredient substitutions
If you cannot find a particular ingredient for Zuppa di Pesce, there are plenty of easy swaps. In place of white wine, a dry rosé or even a splash of apple juice will give you a similar hint of acidity. No fish stock? A good vegetable stock makes a fine substitute. For a more intense, concentrated flavour, you can use sun-dried tomatoes instead of tomato purée — a trick that also works well in Risotto ai Frutti di Mare.
Drink pairing ideas
A good glass of wine is the natural partner for Zuppa di Pesce. A light white wine such as Pinot Grigio, or a dry rosé, complements the soup perfectly without overwhelming the delicate seafood. If you prefer to skip the alcohol, try a sparkling lemonade or a mineral water with lemon. Even an alcohol-free beer pairs surprisingly well with this maritime dish, echoing its fresh, briny character.
Serving and presentation ideas
Presentation is part of the pleasure with Zuppa di Pesce. Serve the soup in a deep bowl and garnish with fresh parsley and a wedge of lemon. A few mussels still in their shells make a lovely decoration and play up the dish’s maritime spirit. A piece of rustic bread on the side is more than just for show — it is perfect for mopping up every last drop of that delicious broth, much as you would with Zuppa di Cozze.
A bit of history
Zuppa di Pesce has a long and colourful history. The dish has its origins in the port city of Livorno, where it was traditionally made by fishermen who put their leftover catch to good use. Its Tuscan cousin, cacciucco, takes its name from the Turkish word küçük, meaning “small”, a nod to the small fish that went into the pot. Today it is a celebrated part of Italian cuisine, enjoyed in countless trattorias and restaurants across the country.
More recipe ideas
- Risotto ai Frutti di Mare
- Zuppa di Cozze
- Cacciucco Maremmano
- Brodetto di Pesce
- Zuppa di Pesce alla Livornese
Summary: Zuppa di Pesce
Zuppa di Pesce is a traditional fish soup from Tuscany that brings together a generous variety of fish and seafood in a fragrant tomato broth. It is a wonderfully flexible dish, easily tailored to personal taste, and it shines with rich flavour and real depth. This Italian speciality captures everything to love about the country’s coastal cooking. Give the recipe a try and enjoy a little taste of Italy in your own kitchen.


