Mchuzi wa Samaki
Tanzanian Coconut Fish Curry
A fragrant and flavorful fish curry from Tanzania's Swahili coast, this dish features tender fish simmered in a rich, aromatic sauce of coconut milk, tomatoes, and a blend of Indian-inspired spices. It's a delightful balance of mild spice, creaminess, and tanginess, often served with ugali or rice.

🧂 Ingredients
- 1.5 lbs Firm white fish fillets (e.g., tilapia, snapper, cod, or hake)(cut into 4-5 inch pieces)
- 4 tbsp Vegetable oil(divided)
- 2 medium Onions(finely chopped)
- 4 cloves Garlic(minced)
- 1 inch piece Ginger(grated)
- 3 medium Tomatoes(diced (or 1 cup canned chopped tomatoes))
- 2 tbsp Tomato paste
- 1 can (14 oz/400ml) Coconut milk
- 1 medium Green bell pepper(finely chopped)
- 2 tsp Curry powder
- 1 tsp Garam masala
- 1 tsp Turmeric powder
- 0.5 tsp Cayenne pepper(adjust for spice preference)
- 1 tbsp Tamarind paste(or juice of 1 lemon as a substitute)
- 1 tsp Coriander seeds(toasted and ground)
- 1 tsp Cumin seeds(toasted and ground)
- 1 tsp Salt(adjust to taste)
- 0.5 tsp Black pepper
- 0.25 cup Fresh cilantro(chopped, for garnish)
- 1 tbsp Lemon juice(for finishing)
- 0.5 cup Water(as needed for sauce consistency)
👨🍳 Instructions
- 1
Prepare the fish: Rinse the fish fillets under cold water, pat them dry with paper towels, and cut them into large, manageable pieces (about 4-5 inches each). Sprinkle the fish with a pinch of salt and black pepper, and set aside.
- 2
Prepare the aromatics and vegetables: Finely chop the onions and green bell pepper, mince the garlic, grate the ginger, and dice the tomatoes if using fresh ones. Toast the coriander and cumin seeds in a dry pan over medium heat for 1-2 minutes until fragrant, then set them aside to cool slightly before grinding them coarsely with a mortar and pestle or spice grinder.
- 3
Sauté the base: Heat 2 tbsp of vegetable oil in a large skillet or sauté pan over medium heat. Add the chopped onions and a pinch of salt, and cook for 8-10 minutes, stirring occasionally, until softened and golden brown. Add the minced garlic, grated ginger, and chopped green bell pepper. Sauté for 2-3 minutes until the bell pepper softens and the garlic and ginger become fragrant. Add the curry powder, garam masala, turmeric, ground toasted coriander and cumin seeds, and cayenne pepper. Fry for 1-2 minutes until they release their aroma, stirring constantly to prevent burning.
- 4
Build the sauce: Add the diced tomatoes and tomato paste to the pan. Cook for 5-7 minutes, stirring frequently, until the tomatoes break down into a thick paste and the oil begins to separate from the mixture. Pour in the coconut milk and stir to combine, scraping up any browned bits from the bottom of the pan for extra flavor. Add the tamarind paste (or lemon juice) and 1/2 cup of water to achieve a smooth, slightly thick sauce. Bring to a simmer and cook for 10-15 minutes, allowing the flavors to meld.
- 5
Cook the fish: Gently add the fish pieces into the simmering sauce, ensuring they are submerged. Cover the pan and let it cook for 7-10 minutes, or until the fish is cooked through and flakes easily. Avoid overcooking the fish.
- 6
Finish and serve: Stir in the fresh lemon juice. Taste and adjust seasoning with salt and pepper if needed. Garnish with fresh cilantro. Serve hot with ugali, rice, or chapati.
💡 Pro Tips
- ✓Toasting the spices before grinding enhances their flavor.
- ✓If tamarind paste is unavailable, fresh lemon juice can be used as a substitute for tanginess.
- ✓Adjust cayenne pepper to your preferred level of spiciness.
- ✓Ensure the fish is added gently to avoid breaking it apart.
✨ Twist Ideas
Inspiration for your own version of this recipe
- Add a handful of spinach or other leafy greens in the last few minutes of cooking.
- Include prawns or other shellfish along with the fish for a seafood medley.
- For a richer sauce, use full-fat coconut milk.