Bahraini Fish Coconut Curry

Featured in: Moss-Earthy Weeknight Meals

This Bahraini dish features firm white fish simmered slowly in a creamy, spiced coconut milk sauce. Aromatics like garlic, ginger, and green chilies build depth, while a blend of coriander, cumin, cinnamon, and cardamom infuse complexity. The coconut milk adds richness, balanced with a hint of fresh lemon juice and garnished with cilantro. Perfect for pairing with fluffy basmati or traditional Bahraini rice, it offers a comforting, warming meal with a vibrant Middle Eastern character.

Updated on Mon, 29 Dec 2025 14:45:00 GMT
Bahraini Fish Curry, featuring flaky white fish in a creamy, golden coconut and spice-infused sauce. Save to Pinterest
Bahraini Fish Curry, featuring flaky white fish in a creamy, golden coconut and spice-infused sauce. | mosscedar.com

The first time I cooked this curry was on a humid evening when my neighbor brought over a fresh catch of hammour from the Gulf, wrapped in newspaper still cool from the sea. I had no grand plan, just a handful of spices in my cabinet and a can of coconut milk, so I started layering flavors into a pan and watched it transform into something that smelled like warmth and adventure. My kitchen filled with the kind of aroma that makes people pause at the doorway and ask what's cooking. That simple intuition led me to this recipe, which has since become my go-to when I want to create something genuinely comforting without fussing for hours.

I remember serving this to my sister on a rainy Friday when she arrived unannounced with my nephew, both soaking wet and laughing. She took one spoonful and her eyes closed—I knew right then that this curry had found its place in our family rotation. Now whenever she texts asking what I'm making for dinner, this is usually what she hopes to find simmering on my stove.

Ingredients

  • Firm white fish fillets (600 g): Cod, snapper, or hammour work beautifully here; the chunks stay intact and absorb the sauce rather than falling apart, so avoid delicate white fish that flakes too easily.
  • Vegetable oil (2 tbsp): A neutral oil keeps the aromatics from burning while you build the flavor base without overpowering the spices.
  • Onion, garlic, ginger, and green chilies: This quartet is the foundation—the onion sweetens as it caramelizes, while ginger and garlic add depth and the chilies bring gentle heat that lingers rather than shouts.
  • Tomatoes (2): Fresh tomatoes add natural acidity and body to the sauce; canned will work in a pinch but fresh ones taste noticeably brighter here.
  • Ground coriander, cumin, cinnamon, black pepper, paprika, and cardamom: Toast these together in the pan so they wake up and meld into one warm, enveloping flavor rather than tasting like separate spices.
  • Coconut milk (400 ml): Full-fat coconut milk makes the sauce silky and rich; don't use light or it becomes thin and one-dimensional.
  • Lemon juice and fresh coriander: A squeeze of lemon at the end brightens everything and prevents the curry from feeling heavy, while fresh coriander adds a grassy, living quality right before serving.

Instructions

Season and rest the fish:
Pat your fish pieces dry, then toss them with salt and turmeric, letting them sit for ten minutes. This isn't wasted time—the salt begins drawing out moisture so the fish firms up slightly and the turmeric starts seasoning it from within rather than just coating the surface.
Build the aromatic base:
Heat oil in your pan over medium heat and add the onion, stirring occasionally until it turns golden and soft, about five to seven minutes. You're not rushing this step; the longer the onion cooks, the sweeter and more foundational it becomes for everything else.
Bloom the spices:
Add garlic, ginger, and green chilies, cooking for just a minute until the kitchen smells incredible and the raw edges disappear. Then add your tomatoes and let them break down into soft pieces, which takes about three to four minutes and gives the sauce natural body.
Toast and meld the spices:
Sprinkle in all your ground spices and stir constantly for one to two minutes—this toasting step is where the magic happens, transforming individual spices into one cohesive warmth that coats your mouth gently. Don't skip it or rush it; you'll taste the difference.
Create the curry sauce:
Pour in your coconut milk and water, stirring gently until everything is combined, then bring the mixture to a gentle simmer. The gentle heat matters here because aggressive boiling can break apart the coconut cream.
Cook the fish:
Add your rested fish pieces, cover the pan, and let them simmer for twelve to fifteen minutes until the flesh is opaque and flakes easily when you test it with a fork. The curry will smell sweeter and more developed as it cooks, and you'll know it's ready when the oil starts separating slightly on top.
Finish and taste:
Remove from heat and taste carefully, adjusting with more salt if needed and a generous squeeze of lemon juice to brighten the whole dish. Finish with a handful of fresh coriander scattered across the top, which adds a final grassy note that makes everything feel fresher and lighter.
Save to Pinterest
| mosscedar.com

There's a moment when everyone at the table stops talking and just eats, and that's when you know you've cooked something worth repeating. This curry earned that silence many times over, and it's become the dish I make when I want to remind people that the simplest ingredients, treated with intention and care, can taste like something far more complicated and special.

Why This Curry Feels Like Home

Bahraini cooking isn't about complicated techniques or exotic ingredients you hunt down obsessively; it's about taking what the Gulf provides and honoring it with spices that have traveled across centuries of trade routes. This curry sits right in that tradition, using humble white fish and coconut milk to create something warm and enveloping that tastes like generations of kitchen wisdom condensed into one pot. Every time I make it, I think about fishermen returning with their catch and home cooks building something nourishing and fragrant for their families, and somehow that history comes through in every bite.

Serving and Pairing Ideas

Serve this curry over steamed basmati rice or with soft flatbread for scooping up every last drop of sauce—both are traditional choices that let the curry be the star. If you have access to Bahraini ghoozi rice, that's even better, as its spiced quality echoes the curry without competing with it. I've also served it alongside a simple cucumber salad or a plate of fresh greens to cut through the richness, and that contrast feels right, especially on warm evenings when the curry's heat works with the weather rather than against it.

When the Basics Feel Like Luxury

What struck me most about learning to make this curry well is that it doesn't demand rare ingredients or restaurant equipment—just attention and intention. The coconut milk might be from a can, the fish might come from your local market, the spices from a grocery shelf, but when they're treated with respect and given time to develop, they become something that feels indulgent and special. I've made versions with shrimp when I had them on hand, and once I even tried it with firm tofu for a friend who wasn't eating fish that week, and both times the sauce was just as lovely and complex, reminding me that the real magic lives in the method, not in any single ingredient.

  • Add a pinch of saffron or a couple of dried limes (loomi) with the spices if you want to push the flavor deeper and more authentic.
  • Let the sauce simmer for a few extra minutes after cooking the fish to meld everything together before serving.
  • Leftovers taste even better the next day when the flavors have had time to marry and settle into one another.
This beautiful Bahraini Fish Curry shows tender fish chunks simmering in a vibrant spiced coconut broth. Save to Pinterest
This beautiful Bahraini Fish Curry shows tender fish chunks simmering in a vibrant spiced coconut broth. | mosscedar.com

This curry is proof that you don't need hours or a long ingredient list to create something that tastes genuinely thoughtful and special. Make it once and it will find its way back to your table again and again.

Recipe Frequently Asked Questions

What type of fish works best for this curry?

Firm white fish such as cod, snapper, or hammour hold their shape well when simmered in the coconut sauce.

Can I adjust the spice level of the dish?

Yes, controlling the number of green chilies or omitting paprika lets you tailor the heat to preference.

What can I serve with this fish dish?

Steamed basmati rice or traditional Bahraini ghoozi rice complement the rich and aromatic coconut curry sauce beautifully.

Are there alternatives to fish for this preparation?

Shrimp or firm tofu can be used as substitutes while maintaining a similar texture and absorbing the flavorful sauce.

How can I deepen the flavors further?

Adding a pinch of saffron or dried limes (loomi) during cooking enhances the aromatic complexity.

Bahraini Fish Coconut Curry

Tender fish cooked in a fragrant spiced coconut sauce with fresh aromatics and warm spices.

Time to Prep
20 minutes
Time to Cook
30 minutes
Overall Time
50 minutes
Recipe by Jacob King


Skill Level Medium

Cuisine Type Middle Eastern (Bahraini)

Makes 4 Number of Servings

Dietary Details No Dairy, Wheat-Free

Ingredient List

Fish

01 1.3 lb firm white fish fillets (e.g., cod, snapper, or hammour), cut into large chunks
02 1 tsp salt
03 1/2 tsp ground turmeric

Aromatics

01 2 tbsp vegetable oil
02 1 large onion, finely chopped
03 4 garlic cloves, minced
04 1 thumb-sized piece fresh ginger, grated
05 1–2 green chilies, finely sliced (adjust to taste)
06 2 tomatoes, chopped

Spices

01 1 1/2 tsp ground coriander
02 1 tsp ground cumin
03 1/2 tsp ground cinnamon
04 1/2 tsp ground black pepper
05 1/2 tsp paprika
06 1/4 tsp ground cardamom

Curry Sauce

01 13.5 fl oz coconut milk (1 can)
02 1/2 cup water
03 Juice of 1/2 lemon
04 Fresh coriander (cilantro), chopped, for garnish

How to Prepare

Step 01

Marinate Fish: Pat the fish pieces dry and toss with salt and turmeric. Let rest for 10 minutes.

Step 02

Sauté Onions: Heat vegetable oil in a large skillet over medium heat. Add chopped onion and sauté until golden brown, about 5 to 7 minutes.

Step 03

Add Aromatics: Stir in minced garlic, grated ginger, and sliced green chilies. Cook for 1 minute until fragrant.

Step 04

Cook Tomatoes: Add chopped tomatoes and cook until softened, approximately 3 to 4 minutes.

Step 05

Incorporate Spices: Sprinkle in ground coriander, cumin, cinnamon, black pepper, paprika, and cardamom. Stir continuously for 1 to 2 minutes until aromatic.

Step 06

Simmer Sauce: Pour in coconut milk and water, bringing the mixture to a gentle simmer.

Step 07

Cook Fish: Add marinated fish to the simmering sauce. Cover and cook gently for 12 to 15 minutes until fish is tender and fully cooked.

Step 08

Season and Garnish: Adjust seasoning with salt and lemon juice. Garnish with chopped fresh coriander. Serve hot with steamed rice or flatbread.

What You’ll Need

  • Large skillet or saucepan
  • Chopping board and knife
  • Wooden spoon
  • Citrus juicer

Allergy Details

Always check every ingredient for allergens. Talk to a healthcare provider if you’re not sure.
  • Contains fish and coconut; coconut may be an allergen for some individuals.
  • Verify coconut milk and spice blends for potential traces of gluten or other allergens.

Nutrition Information (each serving)

Nutrition info is for reference only and not a substitute for doctor’s advice.
  • Energy: 345
  • Total Fat: 18 g
  • Carbohydrates: 10 g
  • Total Protein: 34 g