This Thai fish curry comes together in 30 minutes with rich coconut milk, tender fish fillets, and fresh vegetables in a fragrant red curry sauce. It's the kind of weeknight dinner that tastes like you ordered takeout - except you made it yourself and it's probably better.
After years of eating fish curry and trying to replicate at home, I've figured out the secret: it's all about building flavor in layers. Bloom the curry paste in hot coconut cream first, then add your vegetables and fish. That one technique transforms a good curry into something special.

What Fish to Use for Thai Curry
My favorite options: Salmon, steelhead trout, mahi mahi, barramundi, or ling cod - all firm enough to hold together well.
Budget-friendly options: Cod, haddock, tilapia, or hake work great but break apart more easily, so handle gently.
If you love curried salmon, you've got to try my Indian-Spiced Baked Salmon next!
Ingredients for this recipe:

Before we get to the step by step directions, a few notes about the ingredients:
Red Thai Curry Paste: I use Mae Ploy brand (find it at Asian markets or online). Red curry paste is made with red chilies, ginger, lemongrass, and turmeric - deeply savory with a gentle kick of heat.
Full-Fat Coconut Milk: The thick cream on top becomes your cooking fat - don't shake the can before opening.
Vegetables: Bell peppers, green beans, carrots, and onions are my go-to, but use what you have on hand.
Full measurements and directions included in the printable recipe card below.
How to Make Fish Curry
1. Make Coconut Curry Base
Scoop out 3 tablespoons of the thick cream from the top of your coconut milk. Add it to a large skillet over medium-high heat and cook for 1-2 minutes until it's sizzling and starting to separate. Add curry paste and cook 2 minutes.


Next, add remaining coconut milk to the pan, along with the sliced onion and carrots. Cook for 3-4 minutes until the veggies are beginning to soften.

2. Add Fish and Finish Curry
Add your fish pieces, bell pepper, green beans, fish sauce, and brown sugar. Stir gently to combine and lower the heat to medium. Cook for 5-8 minutes until the vegetables are crisp-tender and your fish is cooked through. Squeeze in lime.

3. Serve
Serve fish curry with jasmine rice and lime wedges. Top with fresh basil, cilantro and diced red chilis.


Can I Make This with Green Curry Paste?
Yes, substitute green curry paste 1:1 for red curry paste. Green curry has a brighter, more herbaceous flavor, while red curry is earthier and slightly sweeter. Both work great with fish.
What to Serve with Fish Curry?
Jasmine rice or basmati rice are traditional. For a lower-carb option, try cauliflower rice. The curry has plenty of vegetables and protein built in, so no side dish needed.
How to Store Leftover Thai Curry
Refrigerate in an airtight container for up to 2 days. Reheat gently in a saucepan over medium-low heat.
Print
Thai Fish Curry with Coconut Milk
- Total Time: 30 minutes
- Yield: 4 1x
Description
This Thai fish curry comes together fast with coconut milk, red curry paste, and whatever fish you have on hand. Simple technique, impressive results.
Ingredients
3 tablespoons red Thai curry paste
1 can full fat coconut milk, divided
1 cup fresh or frozen green beans, cut into bite-sized pieces
2 carrots, halved and sliced
1 medium onion, sliced
½ red bell pepper, sliced into 1-inch pieces
2 teaspoons fish sauce
Juice of ½ lime, plus wedges for serving
1 tablespoon brown sugar
1 pound fresh salmon, cut into 10-12 pieces
¼ cup fresh basil, diced (Thai, if you can find it!)
¼ cup cilantro leaves
Instructions
- To begin, open your can of coconut milk and remove 3 tablespoons of the thick coconut cream at the top of the can. Add to a large skillet over medium high heat, cook for 1-2 minutes until the cream is sizzling and thick. Next, add 3 tablespoons of red Thai curry paste to the pan and stir to combine the mixture well. Continue cooking the mixture until it is sputtering and thick, about 2 minutes.
- Add the remaining coconut milk, onion and carrots to the pan. Stir to combine. Cook for 3-4 minutes until the veggies are softened. Add salmon pieces, bell pepper, green beans, fish sauce and brown sugar. Stir to combine and lower heat to medium. Cook for 5-8 minutes, until vegetables are still crispy, but cooked and salmon is cooked to your desired temp. Taste and adjust seasoning.
- Serve salmon curry with jasmine rice and lime wedges. Top with fresh basil, cilantro and diced red chilis.
Notes
Don't shake the coconut milk can! You need that thick coconut cream layer on top to fry the curry paste. Open carefully and scoop out 3 tablespoons of cream first, then add the rest later.
Fish options: Salmon, steelhead trout, mahi mahi, barramundi, and ling cod are all firm enough to handle stirring. If using flakier fish like cod, haddock, tilapia, or hake, add them in the last 5 minutes and stir gently only once or twice to prevent breaking apart.
Doneness: Cook fish to 140°F internal temp (or 130-135°F if you prefer salmon medium-rare).
Blooming the curry paste: Cooking the paste in hot coconut cream for 2 full minutes before adding liquid intensifies the flavor dramatically - don't skip this step or rush it. (Advice from chef Jet Tila and works every time!)
Vegetable swaps: Bell peppers, green beans, carrots, and onions are my favorites, but snow peas, bok choy, baby corn or broccoli all work. Add heartier vegetables (broccoli) with the carrots. Add delicate ones (bok choy, snow peas) with the fish.
- Prep Time: 15
- Cook Time: 15
- Category: lunch, dinner
- Method: stovetop
- Cuisine: Thai







christina toth
What! I never knew not to shake the coconut milk can! A whole new spin on this great dish,
Christina Jolam
I know! Then we can use all that creamy coconut goodness in place of oil for sautéing. Keeps the flavor clean and our curry so savory.