Samaki wa Nazi Recipe

Tanzanian Recipes

Swahili Coconut and Tomato Fish Curry

Quick Answer Samaki wa Nazi is a Tanzanian Swahili-coast fish curry where firm white fish is marinated in lime, turmeric, and garlic, lightly pan-fried, then simmered in a fragrant coconut and tomato sauce with onion, ginger, curry powder, and green chili. It is finished with cilantro and lime and served with rice or ugali. Halal and ready in about 45 minutes.

On the coast of Tanzania, samaki wa nazi is weeknight comfort and Friday-table celebration in one pot. The name simply means fish in coconut, and that is the whole promise: tender pieces of white fish sitting in a creamy, pale-orange sauce that is equal parts coconut milk and ripe tomato, warmed with ginger, garlic, and curry powder. It tastes like the Indian Ocean breeze that carried those spices to Zanzibar centuries ago.

The trick I learned after a few watery, split-sauce attempts is that the fish and the sauce are cooked almost separately. You give the fish a quick lime marinade and a light sear so it holds together, then you build a proper coconut-tomato base and slide the fish back in only at the very end. Rush it, and the fish falls apart while the sauce stays thin. Respect the two stages, and it comes out silky every time.

Ready in about 45 minutes  |  Serves 4  |  One pan

Prep Time
20 min
Cook Time
25 min
Total Time
45 min
Servings
4
Easy Halal Gluten-Free About 380 cal / serving
Samaki wa nazi, white fish in a creamy coconut and tomato curry topped with cilantro and lime, served with rice
Samaki wa nazi: white fish simmered in a creamy coconut and tomato sauce, finished with cilantro and lime.

Why This Samaki wa Nazi Works

Swahili coastal cooking is built on a gentle balance of richness, tang, and warm spice, and this fish curry hits all three without a long shopping list. The coconut milk brings body and a mellow sweetness, the tomatoes and lime bring brightness, and the ginger, garlic, and curry powder bring the fragrant backbone. Nothing shouts over the delicate fish.

The most important idea here is treating the fish kindly. A short lime, turmeric, and garlic marinade seasons it and firms up the surface, and a quick sear in hot oil gives it a light golden skin that keeps each piece intact once it goes back into the sauce. Fish that is dumped raw into a bubbling pot tends to shed and cloud the curry.

Cooking the tomatoes down properly before the coconut milk goes in is the other quiet secret. You want them soft and jammy so the sauce tastes deep rather than raw and watery. The coconut milk then rounds everything into something creamy and pale-orange that clings to the fish.

It is also forgiving and adaptable. The same coconut-tomato base welcomes shrimp, a firmer fish steak, or a fierier dose of chili, so once you know the method you can cook the coast into your kitchen any night of the week.

Pro observation: The tomato base is ready for the coconut milk when it looks thick and glossy and the oil beads at the edges of the pan. That sheen means the aromatics have cooked through and the raw edge is gone.

Ingredients

Adjust servings above to rescale · Serves 4

Kitchen Measurement Converter

Quickly convert between common cooking measurements without leaving the recipe. Pick a category, enter a value, and the result updates instantly.

Want more options? Open the full tomato measurement converter.

Ingredient Notes & Substitutions

The Fish

Use a firm, halal white fish such as kingfish, snapper, grouper, tilapia, or cod that holds its shape. Cut it into large chunks or thick fillet pieces so it does not break apart in the sauce. Fresh is best on the coast, but good frozen fillets, fully thawed and patted dry, work well.

Coconut Milk

Full-fat canned coconut milk gives the richest, silkiest curry. Light coconut milk works but the sauce is thinner. Shake the can well before opening so the cream and water blend. On the coast, cooks use fresh grated coconut squeezed into thick tui and thin milk.

Curry Powder (Bizari)

Bizari is the Swahili coastal curry blend of turmeric, cumin, coriander, and warm spices. Any good all-purpose curry powder stands in nicely. Bloom it in the oil for a moment so it smells toasty rather than dusty.

Lime and Tomatoes

Fresh lime does double duty, seasoning the marinade and brightening the finished sauce. Ripe red tomatoes give the best sweet-tart base; out of season, one 14-ounce can of chopped tomatoes is more reliable than pale fresh ones.

Equipment

  • Wide, heavy pan or skillet
  • Fish spatula or slotted turner
  • Sharp knife and board
  • Mixing bowl for marinade
  • Can opener
  • Measuring spoons

Before You Start

1. Pat the fish dry and marinate first. A dry surface sears better, and even 15 minutes in lime, turmeric, and garlic seasons the fish all the way through.

2. Chop the tomatoes small. Smaller pieces break down faster into a smooth, jammy base, which shortens the cooking time and gives a silkier sauce.

3. Cook your rice or ugali alongside. This curry is best over steamed rice or scooped up with ugali, so start your side before you begin the sauce.

Step-by-Step Instructions

1

Marinate the Fish

Pat the fish pieces dry and place them in a bowl. Add 2 tablespoons of the lime juice, the ground turmeric, half of the minced garlic, and half a teaspoon of salt. Turn gently to coat every piece, then set aside for 15 to 20 minutes while you prepare the rest. This seasons the fish and firms up the surface.

2

Sear the Fish

Heat 2 tablespoons of the oil in a wide pan over medium-high heat. Lay the fish in a single layer and sear 1 to 2 minutes per side, just until lightly golden. It does not need to cook through here. Lift the pieces out onto a plate and set aside. Searing gives them a skin that holds together in the sauce.

Turmeric-marinated white fish fillets searing golden in a hot pan
Sear the fish just until golden; it finishes cooking later in the sauce.
3

Build the Aromatic Base

Add the last tablespoon of oil to the same pan and lower the heat to medium. Cook the chopped onion 5 to 6 minutes until soft and golden at the edges. Stir in the grated ginger, the remaining garlic, and the green chili, and cook 1 minute more until fragrant. Sprinkle in the curry powder and stir for 30 seconds to bloom it.

4

Simmer the Tomato-Coconut Sauce

Add the chopped tomatoes and the remaining half teaspoon of salt. Cook 8 to 10 minutes, stirring, until the tomatoes collapse into a thick, jammy base and the oil beads at the edges. Pour in the coconut milk and stir into a smooth, pale-orange sauce. Bring to a gentle simmer and let it cook 5 minutes so the flavors marry. Keep it at a lazy simmer; never let it boil hard, or the coconut milk can split.

Coconut milk being stirred into a tomato base to make a creamy pale-orange curry sauce
Stir the coconut milk into the jammy tomato base for a creamy, pale-orange sauce.
5

Return the Fish

Nestle the seared fish pieces back into the simmering sauce in a single layer, spooning a little sauce over the top. Cover and cook gently for 6 to 8 minutes, until the fish is opaque all the way through and flakes easily with a fork. Turn the pieces only once, and carefully, so they stay whole. Avoid stirring vigorously at this stage.

6

Finish with Lime and Cilantro

Turn off the heat and stir in the last tablespoon of lime juice. Taste and adjust with a little more salt if needed. Scatter fresh cilantro over the top and serve hot over steamed rice or with ugali, with lime wedges on the side for squeezing.

Finished samaki wa nazi garnished with cilantro and lime wedges in the pan
Finish off the heat with fresh lime and a shower of cilantro just before serving.

Chef’s Tips From Real Kitchen Testing

1

Never boil the coconut milk hard. A gentle simmer keeps it smooth and creamy; a rolling boil can make it curdle and turn grainy.

2

Sear the fish first, then add it back only for the final few minutes. This keeps each piece intact and stops the sauce from going cloudy.

3

Add the final lime juice off the heat. Cooking it dulls the brightness, so that last squeeze is what makes the curry taste alive.

Recipe Variations

Serving Suggestions

  • Steamed white rice or fragrant coconut rice (wali wa nazi)
  • Ugali, the soft cornmeal staple, to scoop up the sauce
  • A fresh kachumbari salad of tomato, onion, and lime
  • Extra lime wedges and fresh cilantro on the side

Nutrition Facts

Estimated nutrition per serving of samaki wa nazi
NutrientAmount per serving
Calories380
Protein34 g
Carbohydrates12 g
Fat23 g
Saturated Fat15 g
Fiber3 g
Sugar6 g
Sodium640 mg

Values are estimates per serving and vary with the fish, coconut milk, and brands you use.

Make-Ahead Tips

You can build the coconut-tomato sauce up to a day ahead, cool it, and refrigerate. When you are ready to eat, warm the sauce gently, then add the seared fish and finish cooking so the fish stays fresh and tender. Marinated raw fish is best cooked the same day, so hold the searing step until close to serving. Add the lime and cilantro only at the end.

Storage, Freezing & Reheating

Refrigerator
Keeps 2 days in an airtight container. Cooked fish is best eaten fresh, so store leftovers cold and use them promptly.
Freezer
The sauce alone freezes well for up to 2 months. Freezing the finished curry with fish can soften the texture, so freeze the base and add fresh fish when reheating.
Reheating
Warm gently on the stove over low heat until just heated through. Avoid boiling so the coconut milk stays smooth and the fish does not toughen.

Common Mistakes to Avoid

×Overcooking the fish. It only needs a few gentle minutes in the sauce; push it further and it turns dry and rubbery. Pull it off the heat as soon as it flakes.
×Boiling the coconut milk hard. High heat splits it into grainy curds. Keep the sauce at a lazy, barely-bubbling simmer.
×Underseasoning. Fish and coconut both need salt and acid to shine, so taste at the end and adjust with salt and that final squeeze of lime.

Troubleshooting

Curry tastes flat? It usually needs salt and a squeeze more lime to wake up the flavors. A pinch more curry powder bloomed in a little oil can help too.

Sauce split or grainy? The coconut milk boiled too hard. Lower the heat and whisk in a splash of warm water off the heat to bring it back together.

Fish falling apart? The pieces were too small, stirred too much, or cooked too long. Use large chunks, sear them first, and turn them only once.

A Note on Swahili Coast Cooking

The Swahili coast, running from Tanzania and Zanzibar up through Kenya, has been a crossroads of the Indian Ocean trade for over a thousand years. Traders carried coconut, cloves, cardamom, cumin, and black pepper across the water, and coastal cooks folded them into local fish and produce to create a cuisine that is fragrant, tangy, and deeply comforting. Samaki wa nazi sits right at the heart of that story: everyday fish transformed by coconut and spice.

On the coast it is most often eaten with ugali, the soft cornmeal staple you pinch and dip into the creamy sauce, or with fragrant coconut rice. If you love spiced tomato dishes, our creamy Indian tomato soup shares the same warming spirit, and you can browse more ideas in our full collection of tomato recipes.

Frequently Asked Questions

It is creamy and mellow from coconut milk, gently tangy from tomato and lime, and warmly spiced from ginger, garlic, and curry powder. The fish stays tender and delicate, so the dish is comforting rather than fiery, though you can add more chili for heat.
Use a firm, halal white fish that holds its shape, such as kingfish, snapper, grouper, tilapia, or cod. Cut it into large chunks so it does not break apart. Fully thawed frozen fillets, patted dry, work well too.
The fish is cooked when it turns opaque all the way through and flakes easily when nudged with a fork. It usually takes 6 to 8 minutes in the gently simmering sauce. For safety, cook fish to an internal temperature of 145 F (63 C), and never leave raw or cooked fish at room temperature for long.
Keep the heat low once the coconut milk goes in and never let it boil hard. If it does split, whisk in a splash of warm water off the heat to bring it back together into a smooth sauce.
Yes. Made with halal fish, coconut milk, tomatoes, and spices, it is both halal and naturally gluten-free. Serve it with rice or ugali to keep the whole meal gluten-free.
Steamed white rice, fragrant coconut rice, or ugali are the classic partners. A fresh kachumbari salad of tomato, onion, and lime on the side rounds out the plate nicely.

Last updated: August 4, 2026

Was this recipe helpful?
Thanks for rating!
Timer
0:00

Leave a Comment