Homemade fish soup is one of the most comforting dishes in Mediterranean cuisine. With a good fish stock made from scratch with fish heads and bones, fresh seafood, and the right cooking tricks, the result is a rich, aromatic, and nutritious broth that rivals any restaurant version. In this guide, you’ll find the step-by-step recipe, the most important regional variations, reference tables, and all the secrets to making it perfect the first time.
What is homemade fish soup?
Homemade fish soup is a liquid preparation with a seafood base where the absolute star is the fish stock (fumet), a concentrated broth made from parts usually discarded: hake, monkfish, or sea bass heads, central bones, and shrimp or prawn shells. This base is then used to incorporate sautéed vegetables, tomato, saffron, and the final additions —pieces of clean fish fillets, shrimp, mussels, or clams— which are cooked briefly to preserve their texture and flavor.
Unlike a typical fish stew, in soup, the broth is the dish: it should be clear or lightly golden, deep in aroma, and clean on the palate. That's why the time and technique in making the fish stock determine the final result much more than the quality of the additional ingredients, although these also matter.
This type of preparation appears in practically all coastal cuisines of the Mediterranean and the Cantabrian Sea —from Marseille's bouillabaisse to Basque ttoro— and in Spain, it takes on very different forms depending on the region. However, all share a respect for seafood and patience in building the base broth. If you are interested in exploring other recipes for using up fish, our guide on cod crumbs and utilization recipes follows a similar philosophy of foundational cooking.
Ingredients for 4 servings
The list is divided into two distinct blocks: the ingredients for the fish stock and those for the final dish. This conceptual separation is important because the fish stock can —and often should— be prepared in advance.
For the fish stock (base broth):
- 1 kg fish heads and bones (hake, monkfish, sea bass, or a mix)
- Skins and heads from 200 g shrimp or prawns
- 1 medium onion, halved
- 1 leek (white part and some green)
- 2 celery stalks
- 1 carrot
- 1 bay leaf, fresh parsley sprigs, a few black peppercorns
- 1 glass dry white wine (150 ml)
- 2 liters cold water
- Extra virgin olive oil
For the final soup:
- 600 g clean hake or monkfish fillets, in large pieces
- 200 g peeled shrimp (reserve shells for the stock)
- 300 g clean clams or mussels
- 2 cloves garlic
- 1 medium onion, finely chopped
- 2 ripe tomatoes, grated (or 200 g natural crushed tomatoes)
- A generous pinch of saffron (about 20 strands)
- 1 teaspoon sweet paprika
- Salt, white pepper, and fresh chopped parsley for finishing
How to make fish stock: the base of everything
The fish stock is the soul of the fish soup and deserves full attention. The first rule is the most counterintuitive: do not cook the fish stock for more than 20-25 minutes. Unlike meat broth, which needs hours to extract collagen and gel, fish releases its aromas quickly, and if cooked too long, the broth turns bitter and metallic, which cannot be remedied.
The correct process is as follows: Heat a splash of olive oil in a large pot and lightly sauté the shrimp shells over high heat for two minutes, crushing them with a wooden spoon to release their coral. Add the chopped vegetables and let them get some color. Incorporate the well-washed fish heads and bones —remove any remaining entrails or blood that would bitter the broth—, pour in the white wine and let the alcohol evaporate for one minute. Cover with cold water, bring to a boil, reduce heat, and maintain a gentle simmer for exactly 20 minutes. Skim frequently during the first five minutes. After this time, strain through a fine sieve and lightly press the solids to extract all the liquid. Set aside.
If you want an even more intense broth, lightly toast the bones dry in the oven at 200 °C (390 °F) for 10 minutes before adding them to the pot: the Maillard process adds an extra depth of flavor and a more pronounced amber color.
Related Products from Bacalalo
Recommended Products
Natural Cod Liver Foie Gras - 120g | Smoked C...
€3.90
CHATKA Wild King Crab 60% Legs 40% Shredded | ...
€95.00
Smoked Cod Carpaccio Hand-Cut | 1 Tray Pack
€15.90
Dried Cod Tongues (1 tray) - 500g
€19.95
Refrigerated shipping 24-48h to all of Peninsular Spain
Step-by-step recipe
With the fish stock already prepared and strained, the rest of the recipe is quick. Follow these steps in order:
- Base sofrito. In a wide casserole dish, heat three tablespoons of olive oil and sauté the chopped onion over medium heat for eight minutes until translucent and soft. Add the sliced garlic and cook for two more minutes.
- Tomato and paprika. Add the grated tomato and slightly increase the heat to allow the tomato water to evaporate and the sofrito to concentrate. This takes about five minutes. Add the paprika off the heat so it doesn't burn, stir well, and return to the heat.
- Incorporate the fish stock. Pour the hot fish stock over the sofrito, add the saffron, previously toasted for a few seconds in a dry spoon and dissolved in a little broth. Bring to a gentle boil and simmer for 10 minutes for the flavors to meld. Adjust salt to taste.
- Clams or mussels. Add the shelled seafood to the boiling soup, cover the casserole, and wait for them to open (3-4 minutes). Remove any that do not open.
- Fish, always last. Add the pieces of hake or monkfish and peeled shrimp. White fish in medium pieces needs between 3 and 5 minutes over low heat. Never more: overcooking dries it out and breaks it apart.
- Finish. Sprinkle with fresh chopped parsley, check the salt level, and serve immediately in preheated individual bowls.
Regional variations of fish soup
Spain has one of Europe's longest coastlines, and each seafaring region has developed its own version of fish soup. Knowing them allows you to adapt the basic recipe according to available ingredients or the desired flavor profile.
Galician soup (caldeirada): Uses rockfish and conger eel, with thick sliced potatoes that naturally thicken the broth. La Vera paprika is prominent, and the result is a denser, heartier soup, perfect for Atlantic winters. If you're familiar with our recipe for cod with potatoes, caldeirada follows a similar logic of fish-starch combination.
Basque Ttoro: Originating from the French Basque Country (Ciboure, Saint-Jean-de-Luz) and adopted throughout the Basque coast, ttoro is a fish and seafood soup with a tomato and red pepper base, flavored with cayenne and with pieces of squid, prawns, mussels, monkfish, and turbot. It is spicier and redder than Mediterranean soup. For lovers of Basque cuisine, our guide to bacalao al pil-pil demonstrates another fundamental technique of that tradition.
Catalan Suquet: Suquet de peix is the great Catalan fish soup, made with potato and enriched with a final picada —garlic, toasted almonds, biscuit, saffron, and parsley pounded in a mortar— which thickens, enriches, and flavors the broth in the last two minutes of cooking. This picada is the key differentiator of suquet from other versions.
Andalusian soup: Lighter, with a base of monkfish and shrimp, tomato and thin noodles, common on the coasts of Malaga, Almería, and Cádiz. Sometimes a beaten egg yolk is added at the end to enrich the broth without thickening it.
Comparison: Spanish fish soups
| Preparation | Region | Thickener | Spicy | Main additions | Key characteristic |
|---|---|---|---|---|---|
| Classic fish soup | Mediterranean | None or noodles | No | Hake, shrimp, clams | Clear fish stock, saffron, versatile |
| Basque Ttoro | Basque Country | Red pepper | Yes (cayenne) | Monkfish, squid, prawns, mussels | Tomato and pepper base, redder |
| Catalan Suquet | Catalonia | Potato + picada | No | Monkfish, shrimp, langoustines, clams | Almond picada in mortar |
| Galician Caldeirada | Galicia | Potato | No | Conger eel, monkfish, potato | La Vera paprika, denser |
Noodle version and noodle-free version
Fish soup perfectly accommodates the addition of thin noodles (number 0 or number 1) to make it a more complete and hearty dish. If you opt for this version, add the noodles to the seasoned broth with the sofrito integrated, before incorporating the fish and seafood. Number 0 noodles need between 4 and 5 minutes; number 1 noodles, between 6 and 7 minutes. Once the noodles are cooked, add the fish and seafood as in the classic version.
The advantage of the noodle-free version is that the broth remains completely clear and can be served first as a consommé, followed by the main ingredients as a second course. This two-course presentation is commonly used at weddings and celebrations in Eastern Spain. For those seeking an intermediate consistency, the almond picada in the Catalan style —about 20 g of toasted almonds, a clove of garlic, and parsley pounded in a mortar and dissolved in the broth— adds body without thickening it as much as potato or noodles would.
Tips and mistakes to avoid
These are the points that make the difference between a mediocre fish soup and an excellent one:
- Fish stock maximum 25 minutes. This is the most common mistake. More time does not mean more flavor: it means bitterness. Set a timer.
- Wash bones and heads well. Traces of blood and entrails will bitter the broth. Wash under cold water and remove gills if present.
- Fish last and for a short time. Three to five minutes are enough for 3-4 cm pieces. If cooked too long, it falls apart and the broth becomes cloudy.
- Saffron well extracted. Toast the threads for a few seconds in a dry spoon or in the microwave for 10 seconds, then dissolve them in a little hot broth before adding to the whole. This releases maximum color and aroma.
- Do not boil vigorously. Fish soup should be kept on very low heat once the final ingredients are added. Strong boiling clouds the broth and breaks up the fish.
- Use good extra virgin olive oil. The sofrito is the second flavor base after the fish stock. Good oil makes a difference.
- Taste and adjust before serving. Fish broths need little salt if the stock has been well reduced, but it is essential to taste at the end.
Nutritional information
The following values correspond to a serving of approximately 400 ml of soup with additions (hake, shrimp, and clams), prepared with extra virgin olive oil and without noodles. The data are indicative and vary depending on the fish and the amount of seafood used.
| Nutrient | Per serving (400 ml) | % Reference Intake |
|---|---|---|
| Energy | 210 kcal | 10% |
| Protein | 28 g | 56% |
| Total fat | 7 g | 10% |
| Saturated fat | 1.2 g | 6% |
| Carbohydrates | 8 g | 3% |
| Sodium | 580 mg | 24% |
| Omega-3 (EPA+DHA) | ~0.8 g | — |
| Iodine | ~90 µg | 60% |
Fish soup is one of the most nutritionally balanced preparations: high-quality biological protein, low caloric intake, long-chain omega-3 fatty acids, and minerals such as iodine, zinc, and selenium from seafood. It is suitable for people with gluten intolerance (in the noodle-free version) and for low-calorie diets.
Pairing: which wine goes best
Fish soup calls for Atlantic whites with vibrant acidity and iodized or saline notes that mirror the dish's marine profile. The two classic options in Spanish cuisine are Albariño (D.O. Rías Baixas) and Godello (D.O. Valdeorras or D.O. Monterrei).
Albariño, with its fresh acidity, notes of peach, grapefruit, and an Atlantic mineral background, is perhaps the most natural combination with any Mediterranean-based fish soup. Godello, more structured and full-bodied than Albariño, has a texture that stands up well to richer versions like Basque ttoro or Catalan suquet with picada. If the soup has prominent saffron, a Godello with some lees aging can be the most interesting option because contact with the lees provides toasted bread notes that pair well with saffron.
For a more economical and local alternative, a young Rueda Verdejo, a Penedès Xarel·lo, or an Empordà white work well. Avoid wines with pronounced wood (new wood) because the oak competes with and overwhelms the delicate aromas of the fumet.
Storage and Reheating
Fish soup is one of those dishes that tastes best freshly made, but with proper care, it will keep perfectly for the next day. The base broth—without the fish and seafood added—stores perfectly in the refrigerator for up to three days or in the freezer for up to three months. If you have already added the solid ingredients, keep it in the refrigerator for a maximum of 24 hours.
To reheat, always do so over very low heat and without bringing it to a boil, especially if the fish is already in the soup: strong boiling dries out the fish and breaks it down too much. If you have only frozen the broth, you can thaw it and add fresh fish and seafood at the time of serving: the result is practically indistinguishable from a freshly made soup.
A very practical option is to prepare the fumet in large quantities, divide it into 500 ml or 1 liter portions in flat freezer bags, and always have soup base available in the freezer. It is a highly versatile kitchen stock: it can be used for soup, for soupy rice—like those we describe in our cod with soupy rice recipe—or for fish sauces.
Frequently Asked Questions
How long should fish fumet be cooked?
Fish fumet should not be cooked for more than 20-25 minutes from the moment it comes to a boil. Unlike meat broths, fish releases its aromas in a very short time, and if cooked for too long, the broth develops a bitter, metallic taste that ruins the entire dish. If you want more intensity, the correct solution is not to cook longer but to use more bones and heads per liter of water, or to toast the bones in the oven before adding them to the pot. Always set a timer when making fumet: it's the simplest and most effective trick in the entire recipe.
What fish is best for fish soup?
For the base fumet, the best fish are those from fish scraps—heads of hake, monkfish, sea bass, sea bream, or grouper—because they have a lot of gelatin and give body to the broth. For the final additions, hake and monkfish are the most commonly used in Spain because they hold up well to brief cooking without falling apart and have a firm texture and delicate flavor that does not compete with the broth. Desalted cod is another excellent option that provides a more gelatinous texture and a more pronounced flavor; if you want to use it, take a look at our guide on how to properly desalt cod and our premium desalted cod.
Can fish soup be made without seafood?
Yes, absolutely. Fish soup without seafood is simpler, more economical, and suitable for people with shellfish or crustacean allergies. In this case, the fumet is made exclusively with white fish bones and heads, and the only solid ingredient is fish fillets. To compensate for the lack of sweetness and depth provided by shrimp shells, you can add an extra carrot to the fumet, a splash of sherry wine (fino or manzanilla) to the sofrito, and a few additional saffron threads. The result is different but equally tasty if the fumet has been carefully prepared.
Can I use store-bought fish broth instead of making fumet?
You can do it in a pinch, but the result will be notably inferior. Packaged fish broths—whether in cartons, cubes, or concentrated form—tend to have a bland flavor profile, excess sodium, and lack the iodized and gelatinous notes provided by fresh fish bones and shrimp shells. If you choose this option, improve the store-bought broth by sautéing some shrimp shells in it for two minutes, adding a splash of white wine, and straining before use. This technique partially "rescues" an industrial broth and brings it closer to the flavor of a homemade one. For more special soups, however, it is worth the effort to make it from scratch.
How many calories does homemade fish soup have?
A generous serving of homemade fish soup (about 400 ml with hake, shrimp, and clam additions) provides approximately 200-220 kcal, making it one of the lightest main dishes in Spanish cuisine. Almost all of these calories come from the protein in fish and seafood, with minimal fat intake if a moderate amount of olive oil is used in the sofrito. The version with noodles adds between 80 and 100 additional kcal per serving depending on the amount of pasta. It is a particularly recommended dish in hypocaloric diets due to its high satiety index and extraordinary nutritional profile.
What is the difference between fish soup and fish broth?
The main difference is that fish broth—or fumet—is just the liquid resulting from cooking bones, heads, and aromatic vegetables: it is a cooking base, not a finished dish. Fish soup, on the other hand, is a complete dish that uses that fumet as the cooking liquid but also incorporates a sofrito, spices like saffron and paprika, and the final additions of fish and seafood. In other words: fumet is the ingredient, soup is the dish. This distinction is important because fumet can be frozen in large quantities and also used for rice dishes, fideuàs, fish sauces, or to enhance other seafood stews.
Can fish soup be made with cod?
Absolutely, and it is a variant with a long tradition in the inland kitchens of Spain where salted cod was the only accessible fish. Desalted cod provides a more gelatinous texture than hake and a more pronounced and complex flavor that enriches the broth. To use it correctly, incorporate it in medium pieces in the last 4-5 minutes of cooking, just like any other fish. Keep in mind that desalted cod adds some residual salt, so adjust the salt at the end and not before. In our collection of recipes with desalted cod, you will find more ideas to make the most of this versatile ingredient.
What is Catalan picada and how is it used in fish soup?
Picada is a Catalan technique consisting of crushing a set of dry and aromatic ingredients—toasted almonds, hazelnuts, garlic, parsley, biscuit (fried bread or carquinyoli), saffron, and sometimes dark chocolate—in a mortar until a paste is obtained, which is added to the stew in the last minutes of cooking. In suquet de peix, the picada fulfills three simultaneous functions: slightly thickening the broth, emulsifying the juices of the stew, and providing a layer of toasted, herbal, and aniseed flavor that no other thickener can replicate. To incorporate it into any fish soup, dissolve it in a little hot broth before adding it to the mixture and do not cook for more than two minutes after its incorporation so that it does not lose the volatile aromas of fresh garlic and parsley.
How do you ensure the broth is clear and not cloudy?
There are four factors that determine the clarity of the broth: thoroughly washing the bones and heads under cold water before using them to remove any blood residue; skimming generously during the first five minutes of cooking, when the protein coagulates and rises to the surface; always maintaining a gentle simmer and not a rolling boil, because turbulent agitation emulsifies fats and clouds the liquid; and straining with a fine sieve or, even better, with a cheesecloth or clean kitchen towel at the end. If you want a restaurant-quality result, let the strained fumet rest for 10 minutes and gently decant the top portion, leaving any possible fat and sediment at the bottom.
Can already prepared fish soup be frozen?
Ideally, only the base fumet should be frozen, without the fish or seafood incorporated. Cooked fish and seafood do not freeze well: when thawed, the fish loses texture and becomes mealy, and shelled seafood often becomes rubbery. Fumet, on the other hand, freezes perfectly for up to three months in airtight containers or freezer bags. To serve, thaw the fumet in the refrigerator overnight or at room temperature, bring it to a boil, make the sofrito, incorporate the fumet, and add fresh fish and seafood: the result is practically identical to a soup made entirely at the moment.
What seafood works best in fish soup?
Clams and mussels are the most commonly used shellfish because they are economical, easy to get, and provide a very flavorful iodized liquid when they open in the broth. Peeled shrimp and prawns add sweetness and texture; their shells are also essential for the fumet. For special occasions, Norway lobsters and crab pieces in the broth provide extraordinary extra depth. Squid or baby squid in rings are used in Basque and Catalan versions to add texture. All fresh or premium quality seafood from our seafood collection is suitable for this recipe and makes a noticeable difference in the final result of the dish.
How do I know when the fish soup is ready to serve?
Fish soup is ready when the fish has just lost its translucency in the center—if you're using hake, the inside will turn from pearly to opaque white—and the clam or mussel shells are fully open. A simple test: insert the tip of a knife into the thickest piece of fish; it should enter without resistance and come out clean, without pink juices. At that point, remove from heat immediately. The residual heat from the pot and broth will continue to cook the fish for another minute, so it's better to err on the side of caution and remove it slightly before the perfect point than to wait too long and find the fish dry and flaky on the plate.
Related Guides
- Cod in green sauce with clams
- Bacalao à Brás: Portuguese recipe
- Cod stew with chickpeas
- Crispy Andalusian-style cod fritters
- Cod with potatoes: 5 easy recipes
- 15 recipes with desalted cod
To prepare this soup with the best ingredients, we recommend our premium desalted cod ready to cook, our salted cod at the perfect salt point, and our selection of fresh and frozen seafood for the soup's additions. At Bacalalo, we have been selecting the best cod and fish from the Mercat del Ninot in Barcelona since 1990.




