If you adore bold flavors and crave that perfect balance of creamy, spicy, and fresh, this Thai Fish Curry Recipe is about to become your new favorite weeknight dinner. It’s a comforting, vibrant dish that brings together tender white fish, fragrant Thai red curry paste, and luscious coconut milk, all brightened with fresh lime and herbs. Whether you’re an experienced cook or just curious about Thai cuisine, this recipe is approachable and absolutely rewarding every single time.

Ingredients You’ll Need
These ingredients are straightforward but each plays a vital role in building that classic Thai curry magic. From the silky coconut milk to the fragrant fresh ginger and red curry paste, every element adds depth, color, and texture to your dish.
- Olive oil (2 tablespoons, divided): Used for sautéing and cooking the fish to golden perfection without overpowering the dish.
- Kosher salt (2 teaspoons, divided): Enhances the natural flavors of both fish and vegetables carefully—never underestimate the power of seasoning.
- Ground black pepper (1/2 teaspoon): Adds a subtle warmth and slight earthiness to balance the sweet coconut and spicy curry.
- Mahi mahi or other white fish (1 pound): Choose a firm, flaky white fish that holds up well in the curry, absorbing flavors beautifully.
- Garlic (2 cloves, minced or grated): Provides a pungent aromatic backbone essential in Thai cooking.
- Fresh ginger (1 inch, minced or grated): Adds a refreshing zing and warmth that livens the curry.
- Shallot (1, sliced): Offers a mild sweetness to complement the spicy curry paste and fresh veggies.
- Zucchini (2 medium, chopped into 1/2 inch pieces): Brings gentle crunch, subtle earthiness, and vibrant green color to the dish.
- Red or orange bell pepper (1, chopped into 1/2 inch pieces): Adds sweet crispness and an inviting pop of color.
- Thai red curry paste (3 tablespoons): The star flavor, packed with chilies, lemongrass, and fragrant spices that define this curry.
- Coconut milk (1 can, 14.5 ounces): Creates a luscious, creamy base that mellows the heat and enriches every bite.
- Lime juice (1 tablespoon): Injects lively acidity to brighten and balance the richness of the coconut milk.
- Lime (1, sliced): For garnish and an extra pop of fresh citrus before serving.
- Chopped basil or other soft herbs (1/2 cup): Fresh herbs like Thai basil, cilantro, or parsley add fragrance and a refreshing finish.
- Optional: sliced red chiles and rice: Perfect for extra heat and a satisfying side that soaks up every bit of curry.
How to Make Thai Fish Curry Recipe
Step 1: Prepare and Season the Fish
Start by heating a tablespoon of olive oil in a shallow pan over medium heat. Pat your mahi mahi dry to ensure a nice sear and sprinkle with a teaspoon of kosher salt and half a teaspoon of black pepper. This simple seasoning enhances the fish’s natural flavor without overshadowing the curry’s complexity.
Step 2: Cook the Fish Until Flaky
Place the fish in the heated pan and cook for about 3 to 4 minutes per side. You want gentle flaking to make sure it’s cooked through but still tender. Once ready, set it aside and let it rest while you move on to the curry base. The fish will soak up the curry sauce later, so no need to overcook now.
Step 3: Sauté Aromatics for Flavor
In a Dutch oven or heavy pot, heat the remaining olive oil over medium-high. Toss in the minced garlic, fresh ginger, and sliced shallots. Sauté this fragrant mix for just one minute — enough to wake up their flavors without burning. Aromatics like these are what give Thai dishes their unmistakable inviting aroma.
Step 4: Cook the Vegetables
Add chopped zucchini and bell pepper to your pot and sauté for about three minutes. This keeps them slightly crisp and vibrant while blending their natural sweetness with the spices. These veggies add texture and balancing freshness to the richness of the curry.
Step 5: Build the Curry Base
Now it’s time to bring in the star ingredient: Thai red curry paste. Stir it continuously into the vegetables for about 30 seconds to release its intense flavors. Then, pour in the coconut milk and stir until the curry paste dissolves completely. The coconut gives the sauce that silky, indulgent texture that we all crave.
Step 6: Simmer to Develop Deep Flavors
Turn up the heat slightly until the curry mixture reaches a gentle boil, then reduce it to a simmer. Let it cook for 10 minutes, giving the flavors time to marry and the sauce to thicken. This slow simmer is where all those Thai spices truly come alive.
Step 7: Brighten the Curry with Lime
Once simmered, turn off the heat and stir in fresh lime juice. This small step lifts the flavors with zesty brightness, cutting through the creaminess and balancing the dish beautifully.
Step 8: Add the Fish and Herbs
Carefully flake your cooked mahi mahi into several large pieces, around two inches each, and gently fold them into the curry. Finish by tucking in plenty of fresh basil or your herb of choice for a fragrant, colorful burst that also adds freshness.
Step 9: Serve with Optional Extras
If you like, serve your Thai Fish Curry Recipe with steamed white or brown rice. Sprinkle sliced red chilies on top if you want to dial up the spice factor and give it a gorgeous finishing touch.
How to Serve Thai Fish Curry Recipe

Garnishes
Fresh basil or cilantro is a must for garnishing—these herbs add bright, herbal notes that beautifully contrast the creamy heat of the curry. Thin lime slices or wedges on the side invite everyone to add their own fresh citrus twist right before eating. For those who enjoy extra heat, sliced red chilies are a colorful and flavorful topping.
Side Dishes
The classic choice is fragrant jasmine rice or hearty brown rice to soak up every drop of sauce. For a lighter meal, try serving with a crunchy cucumber salad or steamed greens like bok choy or snap peas. These sides add balance and ensure every bite feels bright and satisfying.
Creative Ways to Present
For a stylish presentation, serve the curry in individual bowls with the fish pieces artfully placed on top. You can also use banana leaves as plates for an authentic touch at dinner parties. Adding edible flowers or fresh herbs scattered generously makes your dish not only taste incredible but look picture perfect.
Make Ahead and Storage
Storing Leftovers
This Thai Fish Curry Recipe keeps well in the fridge for up to 3 days. Store it in an airtight container to preserve the vibrant flavors and prevent the coconut milk from absorbing any unwanted fridge odors. Give it a gentle stir before reheating.
Freezing
While you can freeze leftovers, it’s best to do so without the fish, which can become crumbly after thawing. Freeze the curry sauce separately in a freezer-safe container for up to one month. When ready to enjoy, thaw overnight and gently reheat before adding freshly cooked fish or other proteins.
Reheating
Reheat your curry gently over low-medium heat on the stove, stirring occasionally to prevent sticking or separation. If the sauce thickens too much, add a splash of water or coconut milk to loosen it back up. Avoid reheating in a microwave if possible, as uneven heating may affect texture.
FAQs
Can I use other types of fish in this Thai Fish Curry Recipe?
Absolutely! Firm white fish like cod, tilapia, or halibut work beautifully as substitutes for mahi mahi. The key is choosing fish that holds together well when cooked so it doesn’t fall apart into the curry.
Is Thai red curry paste very spicy?
Thai red curry paste has a moderate heat level balanced by fragrant herbs and spices. If you prefer milder flavors, start with less paste and add more to taste as the curry simmers.
Can I make this recipe vegetarian or vegan?
Yes! Simply swap the fish for firm tofu or vegetables like eggplant and sweet potatoes. Just make sure your curry paste is vegan-friendly, as some brands include shrimp paste.
What can I use instead of coconut milk?
Coconut milk is central for creaminess and that signature Thai flavor. If you’re allergic or avoid coconut, try using unsweetened almond milk mixed with a bit of coconut extract, though the flavor won’t be as rich.
How do I know when the fish is perfectly cooked?
Fish is done when it flakes easily with a fork and looks opaque all the way through. Cooking it gently ensures it remains tender and absorbs enough of the curry sauce without drying out.
Final Thoughts
Making this Thai Fish Curry Recipe is like inviting a burst of sunshine to your dinner table. It’s a straightforward dish that packs a lot of depth and freshness in every bite. Whether you’re cooking for your family or impressing friends, this curry is bound to become one of your treasured go-to meals. So grab those ingredients, get cooking, and savor all the vibrant flavors that Thai cuisine has to offer!
Print
Thai Fish Curry Recipe
- Prep Time: 15 minutes
- Cook Time: 25 minutes
- Total Time: 40 minutes
- Yield: 4 servings
- Category: Main Course
- Method: Stovetop
- Cuisine: Thai
Description
This Thai Fish Curry is a vibrant and flavorful dish combining tender white fish simmered in a rich and aromatic coconut milk-based red curry sauce with fresh vegetables and herbs. Ready in just 40 minutes, it’s a perfect meal for those craving authentic Thai flavors at home.
Ingredients
Fish and Seasoning
- 2 tablespoons olive oil (divided)
- 2 teaspoons kosher salt (divided)
- 1/2 teaspoon ground black pepper
- 1 pound mahi mahi (or other white fish)
Aromatics and Vegetables
- 2 cloves garlic (minced or grated)
- 1-inch fresh ginger (minced or grated)
- 1 shallot (sliced)
- 2 medium zucchini (chopped into 1/2 inch pieces)
- 1 red or orange bell pepper (chopped into 1/2 inch pieces)
Curry Sauce
- 3 tablespoons Thai red curry paste
- 1 (14.5 ounces) can coconut milk
- 1 tablespoon lime juice
- 1 lime (sliced)
- 1/2 cup chopped basil or other soft herbs (parsley, Thai basil, cilantro)
Optional
- White or brown rice (for serving)
- Sliced red chiles (for topping)
Instructions
- Prepare and Season the Fish: Heat 1 tablespoon of olive oil in a shallow frying pan over medium heat. Pat the fish dry and sprinkle 1 teaspoon of salt and 1/2 teaspoon black pepper evenly over the fish.
- Cook the Fish: Place the fish in the frying pan and cook for 3 to 4 minutes on each side, or until the fish flakes gently with a fork. Once cooked, set the fish aside.
- Sauté Aromatics: In a dutch oven or heavy-bottomed pot, heat the remaining tablespoon of olive oil over medium-high heat. Add the minced garlic, grated ginger, and sliced shallot; sauté for about 1 minute until fragrant.
- Add Vegetables: Add the chopped zucchini and bell pepper to the pot and continue to sauté for another 3 minutes until the vegetables begin to soften.
- Incorporate Curry Paste and Coconut Milk: Stir in the Thai red curry paste and cook continuously for 30 seconds to release the flavors. Then pour in the coconut milk, stirring until the curry paste is fully dissolved in the sauce.
- Simmer the Curry: Increase heat to bring the mixture to a low boil, then reduce heat to let it simmer for 10 minutes, allowing the flavors to meld and the vegetables to tenderize further.
- Finish with Lime Juice: Turn off the heat and stir in the fresh lime juice to brighten the curry.
- Add the Fish and Herbs: Flake the cooked fish into several large 2-inch pieces and gently fold them into the curry sauce. Top with chopped basil or your choice of soft herbs.
- Serve: Serve the curry immediately, optionally accompanied by white or brown rice, and garnish with sliced red chiles if desired for added heat.
Notes
- Using mahi mahi provides a firm texture, but substitutes like cod, halibut, or tilapia work well.
- If fresh herbs are unavailable, dried herbs can be used but add them earlier in cooking to release flavors.
- Adjust the amount of red curry paste to your preferred spice level.
- This recipe pairs beautifully with steamed jasmine or basmati rice to soak up the delicious sauce.
- For a vegetarian alternative, replace fish with tofu or mixed vegetables and use a vegetarian red curry paste.

