Soups & Stews
This Thai-inspired 7 fish soup recipe transforms a simple broth into a symphony of seafood, where each fish brings its own texture and flavor to the table. The secret lies in balancing traditional herbal aromatics with fresh seafood—cod for delicate flakes, shrimp for briny snap, and squid that adds playful chew. I've perfected this dish over years of testing, ensuring every bite delivers a harmonious blend of sweet, sour, and umami.
The foundation is a fragrant broth infused with lemongrass, galangal, and kaffir lime leaves, simmered until deeply aromatic. Each fish is cooked separately—some poached gently, others seared briefly—to preserve its natural qualities. The result is a bowl where tender fish pieces float in a golden, herb-scented liquid, ready to be finished with a splash of lime and fresh cilantro.
What makes this recipe special is its adaptability: swap any fish you prefer, adjust the broth's spice level, or add vegetables like bell peppers and snap peas for extra color. It's a celebration of the sea, where every ingredient plays its part. The broth carries the essence of Thai cuisine, while the seafood brings freshness that makes it feel light yet satisfying.
Perfect for feeding a crowd or meal prepping for the week, this soup delivers restaurant-quality depth with minimal fuss. The key is patience—letting flavors meld and seafood cook just until tender. Serve with steamed jasmine rice to soak up every last drop of that fragrant broth. Let's bring this dish to life.
Ingredients for 7 fish soup
Seven seafood stars meet fragrant Thai herbs in this restaurant-worthy soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Cod Fillets 🐟 | 1 lb | Skinless, cut into 1-inch pieces |
| Shrimp 🦐 | 1 lb | Medium, peeled with tails on |
| Squid 🐙 | 1 lb | Cleaned, bodies sliced into rings |
| White Fish Fillets 🐟 | 1 lb | Such as tilapia or snapper |
| Mackerel Fillets 🐟 | 1 lb | Skin removed, cut into chunks |
| Catfish Fillets 🐟 | 1 lb | Skinless, cut into bite-sized pieces |
| Anchovies 🐟 | ¼ cup | Packed in oil, rinsed and chopped |
| Lemongrass Stalks 🌿 | 4 whole | Bruised and cut into 2-inch pieces |
| Galangal 🌿 | 3 inches | Sliced thinly, or sub ginger |
| Kaffir Lime Leaves 🍋 | 4 whole | Torn into strips |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can |
| Fish Stock 💧 | 4 cups | Homemade or high-quality store-bought |
| Lime Juice 🍋 | ½ cup | Freshly squeezed |
| Fish Sauce 🍶 | 2 tbsp | Red Boat brand preferred |
| Palm Sugar 🍯 | 2 tbsp | Or sub brown sugar |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Thai Chili 🌶️ | 1 piece | Sliced thinly, optional |
| Vegetable Oil 🫒 | 2 tbsp | For searing fish |
| Salt 🧂 | 1 tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The seafood selection is key—look for fresh, sustainably sourced fish at your local seafood market or trusted grocery store like Whole Foods or Trader Joe's. Cod and shrimp should be bright white and firm, while squid should have a glossy sheen and spring back when pressed. If you can't find galangal, ginger works in a pinch—it's the same family, just milder. For kaffir lime leaves, check the Asian foods aisle or order online if needed. The fish sauce is non-negotiable here—Red Boat is the gold standard, but any reputable brand will do. Palm sugar adds that authentic sweetness, but brown sugar works if you're in a hurry.
No cod? Substitute halibut or mahi-mahi—they hold up well in broth. Shrimp shells? Save them for the broth to boost flavor. Squid too expensive? Octopus works beautifully if you can find it fresh. For a milder broth, reduce the fish sauce to 1 tbsp, or skip the chili entirely. The anchovies might seem odd, but they're essential for that deep umami punch—don't skip them. If you're feeling adventurous, add a splash of Thai fish sauce or a pinch of white pepper for extra complexity. The broth can be made a day ahead—flavors deepen overnight—just reheat gently before adding the seafood.
This soup tastes even better the next day as flavors meld. Store the broth separately from the seafood in the fridge for up to 3 days, or freeze the broth for 3 months. The seafood should be cooked and added fresh when reheating. For meal prep, portion the broth into containers and keep the seafood in a separate bag—add it just before serving to maintain texture. Garnish with fresh cilantro and lime wedges right before eating—that bright finish makes all the difference. Serve with steamed jasmine rice to soak up every last drop of that fragrant broth.
Why You'll Love This Recipe
- No Chopping Chaos: I swear by this recipe because the fish pieces—cod, mackerel, even the squid rings—stay whole with just a quick rinse and pat dry. No filleting stress, no tiny bits floating away, and honestly? The presentation looks way more impressive than my usual "tossed in and prayed" seafood dishes.
- Umami Bomb: Between the briny mackerel, the sweet shrimp, and the tender squid absorbing every drop of the tomato-garlic broth, this soup is ridiculously flavorful. I’ll be real: I’ve made simpler fish soups, but this one actually tastes like it was simmered for hours—even though it’s ready in 40 minutes.
- Lunchbox Hero: Here’s what sold me—this soup reheats like a dream. Pack the leftovers in jars with crusty bread, and boom, you’ve got a lunch that feels fancy but costs pennies. My kid brings it to school; my husband takes it to work. Zero complaints, just empty bowls.
- Budget Flex: I use whatever fish is on sale—cod one week, mackerel the next—and the broth stretches to feed four for under $20. The squid adds that restaurant-worthy texture without breaking the bank, and honestly? The shrimp makes it feel special even when I’m cooking on a tight budget.
Step-by-step instructions for Thai-inspired seven fish soup
This aromatic broth brings together seven types of seafood with fragrant Thai herbs and coconut milk.
Prepare the Aromatic Base
Heat the 2 tablespoons vegetable oil in a large stockpot over medium heat. Add the 4 whole lemongrass stalks (bruised and cut), 3 inches galangal (sliced), and 4 whole kaffir lime leaves (torn). Sauté for 3-4 minutes until the galangal softens and releases its citrusy aroma.
Add the 0.25 cup anchovies (chopped) and cook for another 1 minute until they dissolve completely into the oil. This step builds the foundation of your soup's complex flavor profile. If you notice any anchovy bits remaining, stir them in until fully incorporated.
Build the Herbal Broth
Pour in the 4 cups fish stock and bring to a gentle simmer. Add the 2 tablespoons fish sauce, 2 tablespoons palm sugar, 0.5 cup lime juice, 1 teaspoon salt, and 0.5 teaspoon black pepper. Stir well to combine all ingredients.
Simmer the broth uncovered for 15 minutes to allow the flavors to meld. You'll notice the lemongrass and galangal infusing the liquid with their distinctive aromas. Keep the heat at medium-low to prevent rapid evaporation while developing the base flavors.
Add the Seafood in Stages
First, add the 1 lb squid rings and 1 lb shrimp to the simmering broth. Cook for 2-3 minutes until the shrimp turn opaque and the squid becomes slightly translucent. Remove them with a slotted spoon and set aside temporarily.
Next, add the 1 lb cod fillets, 1 lb white fish fillets, 1 lb mackerel fillets, and 1 lb catfish fillets to the broth. Simmer gently for 4-5 minutes until all fish is just cooked through but still flaky. The fish should be opaque throughout with no translucent centers.
Finish with Coconut Milk and Garnish
Reduce heat to low and stir in the 1 can coconut milk gently to avoid creating a skin on top. Simmer for another 2-3 minutes just to warm through. The coconut milk should blend smoothly into the broth, creating a velvety texture.
Return all the seafood to the pot and heat through for 1-2 minutes. Taste and adjust seasoning if needed—you may want to add a bit more fish sauce for saltiness or lime juice for acidity. Ladle the soup into bowls and garnish with 0.25 cup chopped fresh cilantro and thin slices of Thai chili if using.
Serve Immediately with Fresh Herbs
This soup is best served immediately while the seafood is still warm and the broth maintains its aromatic qualities. Each bowl should contain a variety of fish pieces and be topped with fresh cilantro for a pop of color and additional flavor.
For optimal presentation, arrange the different fish types around each bowl so diners can experience the variety. Serve with steamed jasmine rice to soak up the rich, herbal broth. The combination of textures—tender fish, silky broth, and fresh herbs—makes this a truly memorable seafood experience.
Pro Tips For Making 7 Fish Soup
- Prep Squid Properly: Rinse squid thoroughly under cold water—ink sacs leak like crazy otherwise. Pat them very dry before cooking, or they’ll turn your broth murky faster than a mackerel left too long in the sun. I learned this the hard way when my soup looked like a smudged watercolor painting.
- Cook Fish in Stages: Start with the firmest fish (cod, mackerel) first, then add delicate shrimp and squid last. If you toss everything in at once, the shrimp will turn rubbery while the cod stays undercooked—like trying to eat a shoe instead of a meal. Give each fish its moment in the pot.
- Salt the Broth Twice: Season the water before adding fish, then taste again after 10 minutes. The broth absorbs salt like a sponge, and if you wait too long, you’ll end up with a bland mess. My grandmother swore by this, and she was right: the first taste should be bold, not shy.
- Use Fish Bones for Depth: Save a few mackerel or cod bones (discard the skin) and simmer them with aromatics for 5 minutes before adding fish. The collagen melts into the broth, giving it a richness that store-bought stock can’t match—like the difference between a whisper and a song. (Yes, even if you’re impatient like me.)
Make-ahead tips for leftovers
Broth Prep Ahead
Make the fragrant broth 1-2 days ahead—it only gets better as flavors meld. Simmer the aromatic base (lemongrass, galangal, kaffir lime) with fish stock for 15 minutes, then cool completely before storing in an airtight container in the fridge. The broth will deepen in complexity overnight, with the galangal releasing its citrusy oils and the anchovies dissolving fully. Just reheat gently over low heat before adding seafood to avoid overcooking. 💛
Seafood Prep Timeline
Prep all seafood 1 day ahead for maximum convenience. Cut fish into 1-inch pieces, peel shrimp, and slice squid—store separately in separate airtight containers to prevent cross-contamination. Keep them refrigerated until ready to cook. The night before serving, soak the lemongrass and kaffir lime leaves in water to keep them fresh. This step saves 30+ minutes of prep day-of. ✨
Freezer-Friendly Broth
For long-term storage, freeze the broth in 1-cup portions using silicone ice cube trays—they thaw quickly and prevent freezer burn. Label with the date and use within 3 months. When ready to serve, thaw overnight in the fridge, then reheat with a splash of water or fish stock to restore richness. The seafood should always be added fresh when reheating to maintain texture. ❄️
Seafood Cooking Order
Cook seafood in reverse order of doneness when reheating. Start with squid and shrimp (they cook fastest), then add cod and white fish, finishing with mackerel and catfish (which need the most time). This ensures everything is perfectly tender. If reheating from frozen, add the fish directly to the simmering broth without thawing—the gentle heat will cook them evenly. 🔥
Garnish Fresh Daily
Store chopped cilantro and Thai chili separately in small airtight containers with a paper towel to absorb moisture. Add these garnishes right before serving to preserve their vibrant color and fresh flavor. The bright acidity of lime juice should also be added fresh—never store it with the broth, as it can make the seafood mushy over time. 🍋
Portion Control Tips
Divide the broth into individual serving containers (about 1.5 cups per bowl) and store with separate seafood portions in a ziplock bag. When reheating, combine one broth portion with its seafood in a pot and heat through. This keeps flavors balanced and prevents overcooking. For meal prep, label containers with the date and reheat within 2 days for best quality. 📅
Nutrition facts
Frequently asked questions
Can I substitute any of the seafood in this recipe?
This recipe is flexible—swap any fish for similar textures. For example, replace mackerel with salmon (cook it faster due to its richer flavor) or use scallops instead of shrimp for a sweeter taste. Just adjust cooking times: delicate fish like cod should simmer for 4-5 minutes, while heartier fish like catfish may need 6-7 minutes. Always cook seafood separately if substituting to avoid overcooking.
Why does the recipe call for cooking seafood in stages?
Cooking seafood in stages ensures perfect texture—each type has different doneness times. Squid and shrimp cook in 2-3 minutes, while cod and white fish need 4-5 minutes. Removing them temporarily prevents overcooking while the broth finishes. This method also lets you taste-test the broth before adding delicate fish, adjusting seasoning (like fish sauce or lime) for balance.
Can I make this soup spicier or milder?
Easily! For extra heat, add 1-2 extra Thai chilies (sliced) or a pinch of red pepper flakes to the broth. For milder flavor, reduce fish sauce to 1 tablespoon or skip the chili entirely. Taste the broth after 15 minutes of simmering and adjust—you can always add more lime juice for brightness or a splash of coconut milk to mellow the heat.
How do I know when the fish is fully cooked?
Fish is done when it turns opaque and flakes easily with a fork. For cod and white fish, the center should reach 145°F internally. Shrimp should turn from translucent to opaque (about 2-3 minutes in broth). Squid is ready when its edges curl slightly and the body turns white. If unsure, err on the side of undercooking—fish continues cooking slightly after removal from heat.
What’s the best way to store leftovers?
Store the broth and seafood separately in airtight containers for up to 3 days in the fridge. Reheat the broth first, then add seafood for 1-2 minutes to maintain texture. For longer storage, freeze the broth in 1-cup portions (without seafood) for up to 3 months>. Thaw overnight in the fridge before reheating. Never refreeze seafood after cooking.
