Bahraini Fish Coconut Curry

Featured in: One-Pot Warm Spice Comforts

This dish features firm white fish gently simmered in a coconut milk-based sauce infused with warm spices like coriander, cumin, and cinnamon. Aromatics such as garlic, ginger, and green chilies build layers of flavor, while tomatoes add sweetness and depth. The fish is marinated briefly with turmeric and salt, then cooked in the fragrant sauce until tender. Finished with a squeeze of lemon and fresh coriander, this comforting meal offers a vibrant taste of Bahraini cuisine perfect for serving alongside rice or flatbread.

Updated on Sat, 27 Dec 2025 15:17:00 GMT
Bahraini Fish Curry, featuring flaky white fish in a creamy, flavorful coconut curry sauce. Pin it
Bahraini Fish Curry, featuring flaky white fish in a creamy, flavorful coconut curry sauce. | spiceshallows.com

I discovered this curry on a humid afternoon in a Manama kitchen, watching my friend's mother move through her cooking with such ease that the whole process seemed like muscle memory set to music. The way she toasted those spices before the coconut milk went in, the casual precision of her knife work on the ginger—it made me understand why this dish shows up on tables across Bahrain, quiet and unassuming but absolutely essential. When that first spoonful hit my tongue, warm and layered with cardamom and cinnamon, I knew I'd be making this at home.

My first attempt happened during a rainy November evening when I was trying to impress someone who'd lived in the Gulf for years and could probably taste when I'd cut corners. I didn't, though—I bought good fish, toasted my own spices, and let the coconut milk work its magic. The whole apartment smelled like a spice market crossed with the sea, and when they took that first bite, they smiled in a way that felt like recognition.

Ingredients

  • Firm white fish fillets (600 g): Cod, snapper, or hammour work beautifully—you want something that won't fall apart, and cutting them into generous chunks keeps the texture forgiving through the simmer.
  • Salt and turmeric: This ten-minute rest seasons the fish deep and the turmeric gives it a head start on flavor, which matters more than you'd think.
  • Vegetable oil: Two tablespoons is enough to build your base without making the final sauce slick.
  • Onion, garlic, ginger, and green chilies: These aren't just aromatics here—they're the backbone that holds everything together, so don't skip the mincing.
  • Tomatoes: Fresh and chopped releases their acidity just when you need it to brighten the coconut.
  • Ground coriander, cumin, cinnamon, black pepper, paprika, and cardamom: Each spice earns its place; the cinnamon especially gives this dish its character.
  • Coconut milk and water: The one-can method is practical and reliable, though the water keeps it from becoming heavy.
  • Lemon juice and fresh coriander: These finish the dish with sharpness and green life.

Instructions

Product image
Keep kitchen knives sharp for safer slicing, chopping, and precise prep during everyday cooking.
Check price on Amazon
Season your fish:
Pat those fillets completely dry—moisture is the enemy of texture—then toss them gently with salt and turmeric. Let them sit for ten minutes while you gather everything else.
Build your flavor base:
Heat the oil over medium heat and let your chopped onion soften slowly into golden brown, which takes five to seven minutes and is worth every second of patience. Add your garlic, ginger, and chilies next, stirring just until the kitchen smells alive.
Deepen with tomatoes and spices:
The tomatoes go in and cook down into softness, then all those ground spices follow, filling the pan with warmth. Stir for a minute or two until you can smell each one individually.
Bring in the coconut milk:
Pour everything in and let it come to a gentle simmer—this is not a rolling boil situation, but something calm and steady that coaxes the flavors into conversation.
Add the fish and let it finish:
Slide those fish pieces in, cover the pan, and let it all cook together for twelve to fifteen minutes until the fish is tender and the sauce has taken on a silky depth. This is the point where you've done the work and now the heat does the rest.
Taste and finish:
Add salt if needed, squeeze that lemon juice in, and let the bright citrus cut through all that richness. Scatter fresh coriander over the top and serve.
Product image
Keep kitchen knives sharp for safer slicing, chopping, and precise prep during everyday cooking.
Check price on Amazon
Close-up of Bahraini Fish Curry, garnished with fresh cilantro, ready to be served hot. Pin it
Close-up of Bahraini Fish Curry, garnished with fresh cilantro, ready to be served hot. | spiceshallows.com

There's a moment, maybe four minutes into the simmer, when you lift the lid and the steam hits you carrying all those spices and coconut and something indefinably warm. That's when you know it's working, when you're not just cooking anymore but witnessing something come together the way it's supposed to.

Why This Curry Matters

Bahraini food is understated, which is the most elegant way of saying it doesn't need to shout to be remembered. This curry exists in that tradition—it's not complicated or fussy, but there's a rightness to it, a completeness that comes from spices being respected and fish being treated gently. It's the kind of dish that travels well in memory, the kind you end up making again three months later because you remember how it tasted more clearly than you remember most other meals.

Customizing Your Curry

If you want to push into deeper territory, a pinch of saffron during the spice moment or a dried lime or two will shift everything toward something more complex and haunting. Shrimp works if fish isn't in your plan, or firm tofu if you're cooking for someone avoiding seafood entirely.

What to Serve It With

Steamed basmati rice is the obvious choice and it's the right one—the plain grain gives the curry room to be itself. Flatbread works if you want something to soak up that sauce, or you could serve it with ghoozi rice if you're leaning fully into the Bahraini direction.

  • Make sure your rice is cooked in salted water so it has its own quiet flavor.
  • If you use flatbread, warm it just before serving so it's soft and willing to soak up sauce.
  • A simple cucumber and tomato salad on the side keeps everything feeling balanced and light.
Product image
Serve homemade meals comfortably with sturdy utensils and steak knives for everyday dining and special dinners.
Check price on Amazon
Steaming bowl of delicious Bahraini Fish Curry; perfect for a comforting and flavorful dinner. Pin it
Steaming bowl of delicious Bahraini Fish Curry; perfect for a comforting and flavorful dinner. | spiceshallows.com

This curry is the kind of dish that reminds you why cooking for people matters. It's warm, it's honest, and it tastes like someone cared.

Recipe Q&A

What types of fish work best for this dish?

Firm white fish such as cod, snapper, or hammour hold up well when simmered, maintaining texture and flavor.

Can the spice level be adjusted?

Yes, the amount of green chilies can be increased or reduced to suit your preferred heat level.

Is coconut milk necessary for the sauce?

Coconut milk adds richness and a subtle sweetness that balances the spices, making it essential for the authentic flavor.

What are good side dishes to serve with this meal?

Basmati rice or Bahraini ghoozi rice are traditional accompaniments that complement the fragrant sauce well.

Can this dish be made dairy and gluten free?

Yes, it naturally contains no dairy or gluten, making it suitable for those dietary needs.

Are there good substitutions for fish?

Shrimp or firm tofu can be used as alternatives while maintaining the flavor profile of the dish.

Bahraini Fish Coconut Curry

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

Prep time
20 minutes
Cook time
30 minutes
Overall time
50 minutes
Created by James Fisher


Skill level Medium

Cuisine Style Middle Eastern (Bahraini)

Makes 4 Portions

Diet details Without Dairy, No Gluten

What You Need

Fish

01 21 oz 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

Directions

Step 01

Marinate Fish: Pat fish pieces dry and toss with salt and turmeric. Set aside for 10 minutes.

Step 02

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

Step 03

Add Fresh Ingredients: Stir in garlic, ginger, and green chilies; cook for 1 minute until fragrant.

Step 04

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

Step 05

Incorporate Spices: Sprinkle all ground spices into the pan; stir for 1 to 2 minutes until aromatic.

Step 06

Simmer Sauce: Pour in coconut milk and water. Bring to a gentle simmer.

Step 07

Cook Fish: Add marinated fish pieces. Cover and simmer gently for 12 to 15 minutes, or until fish is cooked through and tender.

Step 08

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

Tools & Equipment

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

Allergy alerts

Review every ingredient for allergens and consult your physician or specialist if you’re unsure.
  • Contains fish and coconut (tree nut allergen for some individuals).
  • Check coconut milk and spice blends for potential allergens or gluten traces.

Nutritional info (for each serving)

This info is for reference only and isn’t medical advice.
  • Caloric Value: 345
  • Fats: 18 g
  • Carbohydrates: 10 g
  • Proteins: 34 g