Rich Coconut Milk Fish Curry Recipe

That incredible aroma of coconut milk simmering with spices, filling the whole kitchen… It’s the taste of coastal Kenya. It’s pure comfort in a pot, perfect with a mound of steaming white rice.

Ready to make this classic at home? Sawa, we’ve got the full recipe for you, from the freshest fish to choose, to those little Kenyan twists that make all the difference.

What Is Rich Coconut Milk Fish Curry Recipe and Where Does It Come From

This dish is a creamy, fragrant stew where tender pieces of fish are gently cooked in a thick, golden sauce made from coconut milk and a blend of warming spices like turmeric, cumin, and coriander. The result is a beautifully balanced meal that is rich and comforting, yet not overly heavy, with the natural sweetness of the coconut perfectly complementing the savory fish and aromatic spices.

This curry is a staple along the Kenyan coast, deeply loved in communities in Mombasa, Lamu, and Kilifi counties. While it’s a cherished everyday meal for many coastal families, it also holds a place of honour at celebrations and gatherings, often served with simple white rice or chapati. Its specialness comes from that unique Swahili culinary heritage, a delicious blend of African, Arab, and Indian influences that defines the coast.

Making it at home lets you capture that authentic coastal flavour at a fraction of the cost of eating out, and the aroma alone will transport your kitchen straight to the shores of Diani.

Ingredients for Rich Coconut Milk Fish Curry Recipe

This recipe serves a family of 4-6 people comfortably.

Main Ingredients

  • 1 kg firm white fish fillets (like tilapia, snapper, or kingfish) — cut into chunks
  • 2 medium onions, finely chopped
  • 3 large tomatoes, blended or finely grated
  • 1 cup thick coconut milk (like Pwani or Tuzo brand, or fresh if you can get it)
  • 3 tablespoons cooking oil (Salit or any vegetable oil works)
  • 1 tablespoon ginger-garlic paste (or 3 cloves garlic & a thumb-sized ginger, crushed)
  • 1-2 fresh green chilies, chopped (optional, for heat)
  • A handful of fresh dhania (coriander), for garnish

Spices and Seasonings

  • 1 tablespoon curry powder (a good quality one from any supermarket)
  • 1 teaspoon ground turmeric
  • 1 teaspoon ground cumin (jeera)
  • 1 teaspoon ground coriander
  • 1 teaspoon Royco or chicken masala (optional, for extra depth)
  • Salt, to taste

What You Will Need

  • A large, heavy-bottomed pot or sufuria: This is key for even cooking and preventing the coconut milk from burning. A good old Kenyan sufuria works perfectly.
  • A wooden spoon or cooking stick (mwiko): For stirring the spices and gently turning the fish without breaking it.
  • A sharp knife and chopping board: For prepping your onions, tomatoes, and fish.
  • A blender or grater: To make a smooth tomato base. If you don’t have a blender, just grate the tomatoes finely with a katai.
  • A measuring spoon set: To get your spice ratios just right for that authentic taste.

How to Cook Rich Coconut Milk Fish Curry Recipe: Step-by-Step

This takes about 40 minutes from start to finish and is straightforward enough for a beginner cook, as long as you follow the steps patiently.

  1. Step 1: Prepare Your Base

    Heat the oil in your sufuria over medium heat. Add the chopped onions and fry them, stirring often, until they turn soft and translucent. This takes about 5-7 minutes. Don’t rush this step or let them burn, as sweet, soft onions are the foundation of a great curry.

  2. Step 2: Bloom the Spices

    Add the ginger-garlic paste and chopped green chilies (if using) to the onions. Stir for about a minute until the raw smell disappears. Then, add all your ground spices—curry powder, turmeric, cumin, and coriander. Stir constantly for another 30 seconds to a minute. This “blooms” the spices in the oil, releasing their full flavour and creating that deep, fragrant base.

  3. Step 3: Cook Down the Tomatoes

    Pour in your blended or grated tomatoes. Add a pinch of salt to help them break down. Cook this mixture on medium heat, stirring occasionally, until the tomatoes lose their raw, acidic smell and the oil starts to separate from the sauce, forming a thin film on the surface. This can take 8-10 minutes and is crucial for a rich, concentrated flavour.

  4. Step 4: Introduce the Coconut Milk

    Reduce the heat to low. Slowly pour in the thick coconut milk, stirring to combine it fully with the tomato-spice base. Let this simmer gently for about 5 minutes. The sauce will thicken slightly and turn a beautiful golden-orange colour. This is where the magic starts!

  5. Step 5: Season and Simmer

    Now, taste your sauce and season with salt and the optional Royco or chicken masala if you’re using it. Let it simmer on the lowest heat for another 5 minutes, allowing all the flavours to marry together. The consistency should be like a thick soup. If it looks too thick, you can add a splash of water.

  6. Step 6: Cook the Fish Gently

    This is the most critical step. Gently place your fish chunks into the simmering sauce. Do not stir vigorously! Just spoon some of the hot sauce over the top of the fish pieces. Cover the sufuria and let it cook on low heat for 8-10 minutes. The fish is done when it turns opaque and flakes easily with a fork. Overcooking here will make the fish tough and rubbery.

  7. Step 7: Final Touch and Rest

    Once the fish is cooked, turn off the heat. Sprinkle the chopped fresh dhania over the top. Cover the pot again and let it rest off the heat for 5 minutes. This allows the fish to finish cooking in the residual heat and the flavours to settle beautifully.

Tips, Tricks and Kenyan Variations

Pro Tips for the Best Results

  • For the richest flavour, use coconut cream (the thick part at the top of the can) for the first half of the coconut milk, and dilute with the lighter milk or water later.
  • To prevent the fish from breaking, let it come to room temperature for 10 minutes before adding it to the hot sauce, and avoid stirring once it’s in the pot.
  • If your curry tastes a bit flat, a squeeze of fresh lemon or lime juice at the very end can brighten all the flavours instantly.
  • For a smokier depth, some coastal cooks briefly fry a cinnamon stick and a few cloves with the onions before adding the other spices.

Regional Variations

In Lamu, you might find whole spices like cardamom and cloves used, and the curry is often finished with a drizzle of tui (pure coconut cream). Inland, some families add diced potatoes or carrots to the sauce to make it more filling, creating a heartier, one-pot meal.

Budget Version

You can use well-cleaned, firm-fleshed whole small fish (like omena if available) instead of fillets, which can save over Ksh 200 per kilo. Also, a tablespoon of desiccated coconut soaked in warm water can substitute for some of the canned milk in a pinch.

How to Serve and Store Rich Coconut Milk Fish Curry Recipe

What to Serve It With

This curry is a match made in heaven with steaming hot, plain white rice or soft, flaky chapati. For a true coastal experience, add a side of kachumbari (fresh tomato and onion salad) and a cold glass of tamarind juice or a Tusker to wash it all down.

Leftovers and Storage

Let the curry cool completely, then store it in a sealed container in the fridge. In our warm climate, don’t leave it out for more than an hour. It tastes even better the next day! Gently reheat it on the stove over low heat, adding a tiny splash of water if needed. Avoid the microwave, as it can overcook the fish and make it rubbery.

The Bottom Line

This rich coconut milk fish curry is more than just a meal; it’s a taste of the Kenyan coast, bringing the warmth of Swahili hospitality right to your dining table. It’s surprisingly simple to make but delivers a depth of flavour that feels truly special.

So, light your jiko, grab your sufuria, and give this recipe a try this weekend. We’d love to hear how it turns out for you—share a photo of your creation and tag us online. Karibu chakula!

Frequently Asked Questions: Rich Coconut Milk Fish Curry Recipe

Can I use fresh coconut instead of canned coconut milk?

Absolutely! For the most authentic flavour, grate a mature coconut, add warm water, and squeeze out the thick milk yourself. It makes a world of difference.

Use the first, thick extract for the recipe and a second, lighter extract to adjust the consistency if needed.

My curry sauce is too thin/watery. How can I thicken it?

Don’t worry, this happens. Simply simmer the sauce on low heat without the fish, uncovered, until it reduces and thickens to your liking.

You can also mix a teaspoon of maize flour with a little cold water and stir it in gently to thicken it quickly.

Can I freeze this fish curry for later?

It’s possible, but the texture of the fish may become a bit mushy upon thawing and reheating. The sauce freezes very well on its own.

For best results, freeze just the sauce and add freshly cooked fish when you reheat it.

What’s the best fish to use if I’m on a tight budget?

Well-cleaned whole tilapia or sardines (like omena) are excellent, affordable choices. Just adjust cooking time for smaller fish.

This can cut your cost by half compared to buying premium fillets from the supermarket.

My curry tastes a bit bland. How can I fix it?

This usually means the spices need more “blooming” or it needs more salt. Try simmering for 5 more minutes to deepen the flavours.

A final squeeze of lemon juice or a pinch of extra curry powder at the end can also wake it right up.

Author

  • Ravasco Kalenje is the visionary founder and CEO of Jua Kenya, a comprehensive online resource dedicated to providing accurate and up-to-date information about Kenya. With a rich background in linguistics, media, and technology, Ravasco brings a unique blend of skills and experiences to his role as a digital content creator and entrepreneur. See More on Our Contributors Page

    View all posts