
This tomato fish soup transforms humble, whole fish and garden vegetables into a luxurious bowl of coastal comfort. By making your own fish stock from scratch and layering deeply savory, briny, and citrusy notes, you create a soup that matches anything served at seaside restaurants yet carries the heart of home cooking. The recipe honors traditions of sustainability and Mediterranean family cooking with each careful step.
The first time I made this with my grandmother’s garden vegetables and a haul from the fishmonger, I was not prepared for the depth of flavor it achieved. Now it is my first choice whenever we want to celebrate a special meal at home.
Ingredients
- Mixed fresh fish like carp zander cod: Bring a variety for complex flavor and texture Look for bright clear eyes and firm flesh when buying fish
- Carrots parsley root celeriac leek: Build sweetness and depth Choose roots that feel heavy with no soft spots
- Onions: Used both for stock and soup Pick onions that are solid with dry skins One is charred for a smoky background
- Bay leaves and allspice berries: Essential for aromatic warmth Whole spices are fresher
- Cherry tomatoes: Added to the stock for acidity and a touch of sweetness Select plump tomatoes with shiny skins
- Garlic: For savory undertones Use firm cloves with unbroken skins
- Clarified butter plus extra cold butter: Essential for sautéing and finishing Seek out clarified butter for rich flavor without burning
- Eggplant and zucchini: Bring silkiness and a garden-fresh feel Choose glossy skins and firm flesh
- Fresh thyme: Gives an herbaceous note Use whole sprigs for easy removal
- Homemade tomato purée: Core of the soup Select the ripest red tomatoes to make yours or pick the best jarred kind for full flavor
- Fish sauce: Umami builder Choose a good Asian fish sauce with clean ingredients
- Kaffir lime leaf: Infuses subtle citrus
- Capers and caper brine: Add briny pop Rinse capers well for best flavor
- Hot pepper such as chili: For gentle heat Look for brightly colored peppers
- Lime parsley cilantro: All fresh on the finish Use only vibrant leaves
- Lemon halves for grilling and lime wedges: For serving at the table Pick heavy firm fruit for juicing
- Fish balls (Optional): Add substance to the bowl Use fish trimmings and fresh herbs
Step-by-Step Instructions
- Prep and Fillet the Fish:
- Carefully cut the fish into fillets keeping all bones heads trimmings and skin from zander. The whole fish will be used for stock and garnish. Keep fish cold to maintain freshness.
- Char the Onion:
- Place one onion directly over a gas flame or grill until the skin is blackened. This gives the stock a unique smoky flavor that sets this dish apart.
- Make the Fish Stock:
- Place all collected fish bones and trimmings into a large pot. Add carrots parsley root celeriac leek the charred onion cherry tomatoes bay leaves and allspice. Cover with cold water and bring up to a gentle simmer not a boil. Allow to cook for about forty five minutes to one hour skimming foam as needed. Strain well through a fine sieve to get a clear stock.
- Prepare the Soup Base Vegetables:
- Heat clarified butter in a heavy pot. Add chopped onion and sauté gently until translucent and fragrant but not browned. Add chopped garlic and cook until soft. Stir in diced eggplant and let it absorb the flavor and soften. Once eggplant is meltingly tender add zucchini and fresh thyme. Cook until veggies are just tender.
- Deglaze and Build Flavor:
- Pour in a ladle of fish stock to deglaze the pot scraping up any flavorful bits. Add tomato purée and fish sauce for deep umami. Add kaffir lime leaf capers and their brine then season with salt and pepper. Drop in the piece of hot pepper for gentle warmth.
- Pan Sear the Fish:
- Cube the fish fillets into substantial pieces and pat dry. Working in batches pan fry first the carp then zander and lastly the cod in clarified butter. Season each batch lightly with salt and pepper while cooking. Add a splash of white wine to the pan and let it evaporate then add a spoonful of cold butter for a glossy finish. Add chopped parsley and cilantro off the heat.
- Combine and Simmer:
- Transfer the cooked fish and their buttery juices into the soup pot with the vegetables. Simmer everything gently for about ten minutes letting the flavors marry. Taste and adjust seasoning. Right before serving swirl in a bit more cold butter for shine and flavor.
- Optional Fish Balls:
- If using grind any extra fish trimmings with herbs and seasonings then form into small balls. Poach in the simmering soup during this stage until cooked through.
- Grill Lemon for Serving:
- Cut lemons in half and grill cut side down in a hot dry pan until surface is dark and aromatic. This caramelizes the juice and adds a lovely finishing note.
- Serve and Finish:
- Ladle soup into warm bowls making sure each serving gets plenty of fish and vegetables. Garnish with fresh herbs lime or lemon wedges and thin slices of chili pepper. Offer grilled lemon halves for squeezing over the top.

You Must Know
My favorite part is always the final squeeze of caramelized grilled lemon on top. The aroma reminds me of family barbecues by the water and brings a memory of summer every time I serve this dish. My daughter always asks for extra capers at the table—it has become our little tradition.
Storage Tips
Cool the soup completely before refrigerating Store in an airtight container for up to two days Make sure to reheat only gently to avoid overcooking the fish and to keep the broth clear The soup also freezes well if packed in small batches with the fish separated from the broth to avoid mushy texture
Ingredient Substitutions
If you cannot find all the fish listed feel free to use any firm white fish such as haddock or sea bass For parsley root simply use extra carrot If no clarified butter is available use a blend of butter and light olive oil In place of kaffir lime leaf add a little grated lime zest for a similar aromatic lift
Serving Suggestions
Offer with rustic crusty bread or toasted sourdough Rub the cut surface of the bread with garlic for extra zing For a heartier meal add steamed new potatoes or cooked white beans at serving Finish bowls with a spoon of herbed olive oil or a swirl of extra tomato purée for color

Cultural Roots
This soup embodies classic Mediterranean techniques drawing on resourcefulness and respect for whole ingredients The use of homemade fish stock fresh herbs and charred onion is found in family seaside kitchens where stretching every morsel counts My grandfather often told stories of fishing in the Adriatic and using even the smallest catch to feed a crowd—this soup is a tribute to that spirit
Frequently Asked Questions About Recipes
- → What types of fish work best for tomato fish soup?
Choose mild, white-fleshed fish like carp, pike-perch, or cod. Using a variety adds depth and complements the tomato base. Make sure the fish is fresh for best flavor.
- → Why make homemade fish stock?
Homemade stock builds the soup’s flavor foundation, using bones and trimmings for richness and body. Charred onion adds complexity and a delicate smoky note.
- → How is the soup base prepared?
Sauté vegetables in clarified butter, add garlic and thyme, then tomato purée and fish sauce. This creates a savory, aromatic blend before adding the stock and fish.
- → What garnishes elevate this dish?
Top with grilled lemon halves for a sweet, tangy finish, sprinkle plentiful fresh herbs like cilantro and parsley, and offer lime wedges for a citrus lift.
- → Can I vary the vegetables or fish?
Absolutely! Swap in local fish or seasonal vegetables, such as fennel, potatoes, or even Asian greens. Just maintain the balance of flavors for best results.