Thai Coconut Curry Fish Soup is a bright and comforting bowl filled with tender fish, creamy coconut milk, and fragrant spices like lemongrass and ginger. The curry adds a gentle warmth without being too spicy, making it perfect for any day when you want something soothing but full of flavor.
I love how this soup comes together quickly but feels like something special. Using fresh herbs like cilantro and a squeeze of lime at the end really lifts the whole dish. Whenever I make it, the whole kitchen smells amazing, and it always puts me in a good mood.
One of my favorite ways to enjoy this soup is with a little steamed rice on the side or some crunchy toasted bread to dip right into the creamy broth. It’s a simple meal, but sharing it with friends or family always makes it feel like a warm, cozy gathering around the table.
Key Ingredients & Substitutions
White Fish: Cod, tilapia, or snapper work great here. I like firm fish that holds up well in the soup. If you want, you can swap for shrimp or firm tofu to keep it light.
Thai Red Curry Paste: This brings the unique flavor and mild heat. If you can’t find it, a mix of red chili flakes, garlic, and a bit of ginger can work in a pinch.
Coconut Milk: Full-fat coconut milk gives the soup its creamy texture and slight sweetness. Light coconut milk is a lower-fat option but less rich.
Fish Stock or Vegetable Broth: Fish stock adds depth but vegetable broth works well for a milder taste or to keep it vegetarian (skip fish and fish sauce in that case).
Fish Sauce: It adds salty umami. If you’d prefer to avoid it, soy sauce or tamari can be good substitutes, though the flavor will shift slightly.
Pineapple & Veggies: Pineapple adds brightness and a touch of sweetness. I love the mix with bell peppers and green beans, but snap peas or sugar snap peas work well too.
How Do I Cook the Fish So It Doesn’t Fall Apart in the Soup?
Adding fish gently and cooking it just right is key. Overcooking makes it tough or mushy, undercooking leaves it raw.
- Put fish chunks in last once the vegetables are soft.
- Simmer the soup gently — avoid boiling, which can break the fish apart.
- Cook for 5-7 minutes until fish flakes easily with a fork.
- Use a large spoon to carefully stir and avoid stirring too vigorously.
This careful cooking keeps the fish tender and intact, making every spoonful satisfying.

Equipment You’ll Need
- Large pot – I use this to hold all the ingredients and simmer the soup evenly.
- Sharp knife and cutting board – handy for chopping vegetables and fish into neat pieces.
- Measuring spoons and cups – ensure your seasonings and liquids are just right.
- Wooden spoon or ladle – perfect for stirring everything without scratching the pot.
- Can opener – needed to open the coconut milk and pineapple cans easily.
Flavor Variations & Add-Ins
- Swap fish for shrimp or tofu for different textures or dietary preferences.
- Add sliced mushrooms or baby corn for extra vegetables and flavor.
- Use a splash of soy sauce or tamari instead of fish sauce for a vegetarian option.
- Mix in fresh basil, mint, or Thai basil to add herby brightness at the end.
How to Make Thai Coconut Curry Fish Soup
Ingredients You’ll Need:
- 1 lb (450g) white fish fillets (e.g., cod, tilapia, or snapper), cut into chunks
- 1 tbsp vegetable oil
- 1 small onion, chopped
- 2 cloves garlic, minced
- 1 tbsp fresh ginger, grated
- 1-2 tbsp Thai red curry paste (adjust to taste)
- 1 can (14 oz) coconut milk
- 2 cups fish stock or vegetable broth
- 1 red bell pepper, chopped
- 1 cup pineapple chunks (fresh or canned, drained)
- 1 cup green beans or snap peas, cut into bite-size pieces
- 2 green onions, sliced
- 1 tbsp fish sauce (to taste)
- 1 tsp sugar
- Juice of 1 lime
- Fresh cilantro, chopped (for garnish)
- Fresh ground black pepper (optional)
- Cooked rice, for serving (optional)
How Much Time Will You Need?
This soup takes about 10 minutes to prepare and 20 minutes to cook, so plan for around 30 minutes total. It’s a quick yet satisfying meal to enjoy any day of the week!
Step-by-Step Instructions:
1. Cook the Aromatics
Heat the vegetable oil in a large pot over medium heat. Add the chopped onion and sauté for 3-4 minutes until soft. Then add the minced garlic and grated ginger and cook for about 1 more minute, until you smell a fresh, fragrant aroma.
2. Add the Curry Flavor
Stir in the Thai red curry paste. Cook it for 1-2 minutes, stirring often, so the flavors wake up and blend beautifully with the aromatics.
3. Create the Soup Base
Pour in the coconut milk and fish stock. Give everything a good stir, then bring it to a gentle simmer on medium-low heat.
4. Add Vegetables and Fruit
Put in the chopped red bell pepper, pineapple chunks, and green beans. Let it cook for about 5 minutes until the veggies start to soften but still hold their shape.
5. Cook the Fish
Carefully add the fish pieces to the pot. Let the soup simmer gently—avoid a hard boil—to keep the fish tender. Cook for 5-7 minutes until the fish flakes easily with a fork.
6. Season and Finish
Add fish sauce, sugar, and lime juice to taste. Stir in the sliced green onions for a fresh bite. If you like, sprinkle some fresh ground black pepper.
7. Serve and Enjoy
Ladle the soup into bowls. Garnish with chopped fresh cilantro. Serve hot with cooked rice or crusty bread on the side for a complete meal.
Can I Use Frozen Fish for This Soup?
Yes, you can! Just be sure to thaw the fish completely in the refrigerator overnight or under cold running water before cooking. This helps prevent extra moisture that could dilute the soup.
How Spicy Is This Soup?
The heat depends on how much Thai red curry paste you add. Start with 1 tablespoon for mild warmth, and increase to 2 tablespoons if you like it spicier. You can always adjust to your taste.
Can I Make This Soup Ahead of Time?
Absolutely! Prepare the soup up to the point before adding the fish, then cool and refrigerate. Add the fish and gently simmer just before serving to keep it fresh and tender.
How Should I Store Leftovers?
Keep leftovers in an airtight container in the refrigerator for up to 2 days. When reheating, warm gently on the stove to avoid overcooking the fish and maintain the creamy texture.