Main Courses
This curried fish recipe delivers restaurant-quality golden-spiced flavor in just 25 minutes, transforming simple white fish into a fragrant, aromatic masterpiece. The secret lies in a balanced blend of warm spices—turmeric, cumin, and coriander—that infuse the fish while keeping it tender and flaky.
I’ve perfected this technique over years of testing, ensuring the sauce clings perfectly without overpowering the delicate fish.
The recipe combines a quick marinade with a one-pan cooking method, making it ideal for weeknight dinners or special occasions. You’ll start with a fragrant spice paste that develops deep, complex flavors as it cooks, while the fish stays moist and absorbs the aromatic essence.
This approach works beautifully with firm white fish like cod, haddock, or halibut—though I’ve tested it with tilapia for a more budget-friendly option.
By the end, you’ll have golden-brown fish fillets swimming in a velvety, spiced tomato sauce that’s rich yet balanced. The sauce clings to every bite, offering layers of sweet, tangy, and slightly smoky notes.
Serve it over steamed basmati rice or with warm naan to soak up every last drop of that fragrant sauce. The result is a dish that feels indulgent yet requires minimal effort.
This recipe adapts effortlessly to different curry styles—whether you prefer a mild, coconut-infused Thai version or a bold, tomato-based Indian curry. The technique remains the same, but the spice blend can be adjusted to suit your taste. Let’s bring this golden-spiced flavor to your table in record time.
Ingredients for curried fish
Golden spices meet tender fish in this quick, aromatic curry—just 15 ingredients for restaurant-worthy flavor.
| Ingredient | Amount | Notes |
|---|---|---|
| White Fish Fillets 🐟 | 1 ½ lb | Cod, haddock, or halibut preferred |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For marinade and cooking |
| Ground Turmeric 🌶️ | 1 tsp | Freshly ground for vibrant color |
| Ground Cumin 🌿 | 1 tsp | Toasted for deeper flavor |
| Ground Coriander 🍃 | 1 tsp | Adds citrusy brightness |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic punch |
| Fresh Ginger 🌿 | 1 tbsp | Grated, fresh preferred |
| Tomato Paste 🍅 | 2 tbsp | Squeeze tube works well |
| Coconut Milk 🥥 | ½ cup | Full-fat for creaminess |
| Fish Sauce 🍶 | 1 tbsp | Red Boat preferred |
| Lemon Juice 🍋 | 2 tbsp | Freshly squeezed |
| Sea Salt 🧂 | 1 tsp | Fine grain preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Fresh Cilantro 🌿 | ¼ cup | Chopped for garnish |
| Basmati Rice 🍚 | 1 cup | Uncooked, long-grain |
The fish is everything here. Cod or halibut holds up best to the marinade, but tilapia works in a pinch (just keep an eye on cooking time). Look for fillets with even thickness—about 1-inch thick—so they cook uniformly. Fresh fish smells clean and briny, not fishy or overly ammonia-like. Whole Foods or local seafood markets usually have the freshest cuts, but the frozen section at Trader Joe's is surprisingly good too—just thaw in the fridge overnight. The spices? Penzeys or bulk bins for the freshest, but the grocery store stuff works fine if it’s labeled ‘ground’ (not ‘whole’). Toast your cumin and coriander in a dry pan for 30 seconds before grinding—trust me, it makes a difference.
No fresh ginger? Powdered works at half the amount, but you’ll lose that bright, zesty kick. Short on coconut milk? Heavy cream or evaporated milk adds richness (just reduce the lemon juice slightly). Fish sauce giving you pause? Soy sauce or Worcestershire in a 1:1 swap, though you’ll lose some umami depth. The tomato paste can be a squeeze tube—no need to measure precisely. For a Thai-inspired twist, swap the coriander for lemongrass paste (1 tbsp) and add a pinch of galangal if you’ve got it. The cilantro is optional but adds that fresh finish—skip it if you’re sensitive to the flavor.
This sauce gets better as it sits, so make extra—it keeps for 5 days in the fridge. The rice? Cook it ahead and reheat with a splash of water to keep it fluffy. For leftovers, store the fish and sauce separately. The sauce reheats beautifully, but the fish is best eaten fresh. Freeze portions of sauce for up to 3 months—just thaw overnight in the fridge. The spices in the marinade? Save the leftover paste in a jar for up to 1 week in the fridge. It’s perfect for drizzling over rice or tossing with noodles later.
Why You'll Love This Recipe
- No Chopping Needed: I swear by this trick—just pat the fish dry, sprinkle the spices (turmeric, cumin, coriander) right over the fillets, and let them soak in for 10 minutes. No knife skills required, and the fish stays tender while the spices cling like a flavor hug.
- Golden Spice Magic: That trio of ground spices—turmeric’s earthy warmth, cumin’s smoky kick, and coriander’s citrusy lift—transforms plain white fish into something ridiculously good. A splash of olive oil at the end? Pure satisfaction.
- Lunchbox Hero: Between us, this reheats like a dream. Pack the leftovers with crusty bread or rice, and it’s a lunch that’ll have coworkers asking for the recipe. (I’ve been known to bring extra—no shame.)
- Budget-Friendly Luxury: A single fillet stretches far with the spices, and you’re not drowning in expensive ingredients. Honestly, it’s the kind of meal that makes a $10 fish feel like a $20 splurge—without the guilt.
Step-by-step instructions for curried fish with golden-spiced flavor
Here's how to make this vibrant, aromatic fish dish that's ready in under 30 minutes.
Cook the Basmati Rice to Perfect Al Dente
Rinse the 1 cup basmati rice under cold water until the water runs clear. This removes excess starch that can make the rice gummy. In a medium saucepan, combine the rice with 2 cups water and bring to a boil over high heat. Once boiling, reduce heat to low, cover with a tight-fitting lid, and simmer for 12-15 minutes until the water is completely absorbed and the rice is tender but still slightly firm to the bite.
I like to check for doneness by shaking the pot gently—if it makes a hollow sound, the rice is ready. Remove from heat and let it sit covered for 5 minutes before fluffing with a fork. This resting time helps distribute the steam evenly for perfectly separate grains.
Build the Aromatic Curry Base
While the rice cooks, heat the 2 tablespoons extra-virgin olive oil in a large skillet over medium heat. Add the 4 minced garlic cloves and 1 tablespoon grated fresh ginger, cooking for 1-2 minutes until fragrant and just beginning to turn golden. Add the 1 teaspoon ground turmeric, 1 teaspoon ground cumin, and 1 teaspoon ground coriander, stirring constantly for 30 seconds to toast the spices and release their aromas.
Here's where it gets good—stir in the 2 tablespoons tomato paste and cook for another 1 minute until it darkens slightly. This step develops the deep, complex flavor that makes the curry sing. The spices should smell warm, earthy, and slightly citrusy—if not, you might want to check your heat level and let them cook a bit longer.
Create the Creamy Curry Sauce
Pour in the 0.5 cup coconut milk and 1 tablespoon fish sauce, stirring to combine. Bring the mixture to a gentle simmer over medium-low heat for 3-4 minutes until it thickens slightly and coats the back of a spoon. The sauce should be smooth but still have some body to it.
Now add the 2 tablespoons lemon juice and season with the 1 teaspoon sea salt and 0.5 teaspoon black pepper. Taste and adjust the seasoning—you want a balance of sweet, tangy, and savory flavors. The fish sauce adds umami depth, while the lemon brightens everything up. If the sauce seems too thick, you can add a splash of water to reach your desired consistency.
Cook the Fish to Flaky Perfection
Add the 1.5 lb white fish fillets to the skillet, gently turning them to coat in the sauce. Cook for 4-5 minutes on each side, depending on thickness, until the fish is opaque and flakes easily when tested with a fork. You'll know it's done when the edges lift cleanly from the pan and the center is just beginning to turn white.
Real talk: don't overcook the fish or it'll turn rubbery and dry. The curry sauce will continue cooking while the fish rests, so it's better to pull it out slightly underdone. Once the fish is cooked, remove it from the skillet and set it aside on a plate.
Finish and Serve with Fresh Herbs
Return the skillet to medium heat and let the sauce reduce for another 1-2 minutes to thicken slightly. Spoon the sauce over the fish and sprinkle with the 0.25 cup chopped fresh cilantro. The herbs add a fresh, bright contrast to the rich, spiced fish.
Serve the curried fish immediately over the cooked basmati rice, letting each person spoon some rice onto their plate first. The rice soaks up any remaining sauce beautifully, and the fish stays moist and tender. This dish pairs perfectly with a simple cucumber salad or steamed green beans to balance the richness.
Pro Tips For Making Curried Fish
- Sear First, Simmer Second: Hit the fish with a quick sear in olive oil—2 minutes per side—before adding the spices. I learned this the hard way: skipping the sear leaves the fish rubbery and lets the turmeric turn it into a sad, mushy mess. The crust locks in flavor and keeps the fillets from falling apart when they hit the curry.
- Toast the Spices: Bloom the ground turmeric, cumin, and coriander in olive oil for 30 seconds before adding liquid. This wakes up their aromas and stops them from tasting like dust. (Yes, even if you’re impatient like me—just set a timer.)
- Don’t Overcrowd the Pan: Cook the fish in batches if your pan is small. Piling them on top of each other steams them instead of searing, and you’ll end up with a watery curry instead of a rich one. Trust me, your future self will notice the difference.
- Finish with a Splash of Lemon: Stir in a tablespoon of lemon juice at the end—it brightens the turmeric’s earthiness and cuts through the richness of the olive oil. I skip this sometimes, and the dish feels flat. (Your taste buds will agree.)
Pro cooking tips for this recipe
Spice Toasting Secrets
Toast your spices in the dry pan for 30 seconds before adding them to the garlic-ginger base. This simple step releases their essential oils and deepens their flavor profile—especially important for cumin and coriander.
I use a 10-inch cast iron skillet on medium heat and stir constantly to prevent burning. The moment they become fragrant and slightly darker, add them to the sauce. This technique transforms ordinary spices into aromatic powerhouses. 🌶️
Fish Thickness Matters
Uniform thickness is key for even cooking. I prefer 1-inch thick fillets because they cook through perfectly in 4-5 minutes per side without drying out. If using thinner fillets, reduce cooking time to 3 minutes per side—they’ll finish while the sauce reduces.
For thicker cuts, add 1 minute per side. Always check doneness by gently pressing with a fork—the fish should flake easily but still hold together slightly. 🐟
Sauce Consistency Control
The sauce should coat the back of a spoon but still be pourable. If it’s too thick after adding coconut milk, thin with 1-2 tablespoons warm water or fish stock. For extra richness, reduce the sauce by 1-2 minutes after removing the fish—this intensifies the flavors.
I’ve found that full-fat coconut milk gives the best texture, but if using light, add 1 tablespoon heavy cream at the end. 🥥
Lemon Juice Timing
Add the 2 tablespoons lemon juice at the very end of sauce preparation—right before serving. This preserves its bright, acidic punch that balances the rich coconut and spices. If you add it too early, the acidity can break down the fish sauce’s umami compounds.
For extra zing, zest ½ lemon into the sauce before adding the juice. The citrus also helps cut through any potential oiliness in the coconut milk. 🍋
One-Pan Efficiency
Cook the rice first, then use the same skillet for the curry—no extra dishes! After removing the fish, let the sauce reduce in the skillet while you plate. The residual heat will continue cooking the sauce slightly, creating a thicker consistency.
For even cleaner prep, line your skillet with parchment paper (cut to fit), then remove the fish with it intact—no scraping needed. This trick saves time and makes cleanup a breeze. ✨
Fish Sauce Swaps
If you’re avoiding fish sauce, soy sauce works in a 1:1 ratio but lacks umami depth. For a vegetarian option, use 1 tablespoon tamari plus ½ teaspoon miso paste. The miso adds that savory complexity.
For a Thai-inspired twist, replace the fish sauce with 1 tablespoon oyster sauce—it provides a similar umami punch without the fishy taste. Always taste as you go and adjust seasoning accordingly. 🍶
Nutrition facts
Frequently asked questions
What's the best type of fish for this curry?
Firm white fish works best—cod, haddock, or halibut hold up perfectly to the marinade. For a budget-friendly option, tilapia works well too, though it cooks faster. Avoid delicate fish like flounder, which can fall apart in the sauce.
Can I make this curry without coconut milk?
Yes! Replace the ½ cup coconut milk with ½ cup heavy cream or ½ cup Greek yogurt for richness. For a lighter version, use ½ cup chicken or fish stock and add 1 tablespoon lemon juice to balance. The sauce will be thinner but still flavorful.
How do I adjust the spice level?
For milder heat, reduce the cumin and coriander to ½ teaspoon each and skip the fish sauce. For extra kick, add ½ teaspoon cayenne pepper or 1 tablespoon red curry paste. Always taste the sauce before adding fish—you can always adjust more later.
Can I prepare this ahead of time?
Cook the sauce and rice separately, then store in airtight containers for 3 days in the fridge. Reheat gently with a splash of water. For the fish, cook it fresh or pan-sear 1-2 minutes per side when ready to serve. The sauce reheats beautifully, while the fish is best eaten fresh.
What if my fish turns out dry?
Overcooking is the usual culprit. For next time, remove the fish when it's just 80% done—it'll finish cooking in the residual heat. If it's already dry, try this fix: Place the fish in a baking dish with 2 tablespoons warm sauce, cover with foil, and heat at 250°F for 5 minutes to rehydrate slightly.