Mchuzi wa Samaki (Coastal Fish Curry)

Mchuzi wa Samaki (Coastal Fish Curry)

A masterwork of Swahili Coast cooking — firm white fish fillets simmered in a coconut milk broth that is at once deeply aromatic and bracingly fresh, built on layers of fried onion, garlic, freshly ground spices, and the tart, fruity complexity of tamarind that keeps the richness of the coconut milk perfectly in check. The turmeric gives the broth a golden, sun-drenched colour while the whole spices — cinnamon, clove, cardamom — perfume every mouthful with the legacy of centuries of spice trade. Served over wali wa nazi with the ocean's breeze or in your imagination of it, this is the dish that defines Zanzibari coastal hospitality.

tanzanianhalalgluten freedairy freenut free
23 min prep
86 min cook
109 min total
4 servings
580 cal/serving
8 views
0 forks

Ingredients

  • 900 g firm white fish fillets (snapper, kingfish, or grouper)

    skinless, cut into 6-7cm portions — patted completely dry

  • 700 ml full-fat coconut milk

    divided — 150ml thick cream from top of can for frying, 550ml for the broth

  • 3 whole ripe tomatoes

    finely diced

  • 2 whole yellow onion

    finely diced

  • 6 cloves garlic cloves

    minced to a paste

  • 25 g fresh ginger root

    peeled and grated

  • 8 g ground turmeric

  • 6 g ground cumin

  • 8 g ground coriander

  • 1 stick cinnamon stick

  • 5 pods green cardamom pods

    cracked

  • 3 whole whole cloves

  • 35 g tamarind paste (concentrated)

    dissolved in 80ml warm water and strained through a fine sieve

  • 2 whole fresh green chili

    split lengthways

  • 45 ml coconut oil

  • 18 g salt

    divided — 8g for marinating fish, 10g for curry

  • 25 g fresh coriander

    stems chopped for curry, leaves for garnish

  • 400 g basmati rice

    washed until clear and soaked 20 minutes

  • 400 ml full-fat coconut milk for rice

  • 280 ml water for rice

  • 2 whole lime

    one squeezed for curry finish, one cut into wedges for serving

  • 12 leaves fresh curry leaves(optional)

Prepare Steps

  1. 1

    Marinate the Fish(15m)

    Season the fish portions with 8g salt, half the ground turmeric (4g), and a squeeze of lime juice. Toss gently to coat without breaking the fillets. Set aside to marinate for 15 minutes. The turmeric provides an anti-microbial function as well as colour — do not skip this step. The acid from lime will begin to firm the protein slightly, which prevents the fish from falling apart during cooking.

  2. 2

    Prepare the Spice Blend(5m)

    Combine the remaining ground turmeric, ground cumin, and ground coriander in a small bowl. Toast the cinnamon stick, cracked cardamom pods, and whole cloves in a dry pan for 60 seconds until fragrant. Reserve the toasted whole spices separately.

  3. 3

    Prepare the Coconut Cream for Frying(3m)

    Carefully open the chilled coconut milk cans without shaking and scoop the thick cream from the top into a small bowl — approximately 150ml. Reserve the remaining thinner milk for the curry broth. This separation is essential for the Zanzibari technique of beginning the curry by frying the aromatics in rendered coconut cream rather than added oil alone.

Cook Steps

  1. 1

    Fry the Base Aromatics(19m)

    Heat coconut oil in a wide, shallow pan with a lid over medium-high heat. Add the thick coconut cream and stir continuously for 4-5 minutes until the cream separates and the oil renders free, becoming slightly golden. Add the toasted whole spices and fresh curry leaves if using — they will crackle immediately. Add the diced onions and fry in the spiced coconut oil for 12 minutes, stirring regularly, until deep golden. Add garlic paste, grated ginger, and chopped coriander stems. Stir for 2 minutes until fragrant.

  2. 2

    Build the Curry Sauce(25m)

    Add the ground spice blend to the fried onion base and stir constantly for 90 seconds to bloom in the hot fat. Add the diced tomatoes and split green chilies. Cook over medium-high heat for 8-10 minutes, crushing the tomatoes and stirring frequently, until a thick paste forms and the oil separates visibly around the edges. Pour in the reserved thin coconut milk and the strained tamarind water. Season with 10g salt. Stir together and bring to a gentle simmer. Cook the sauce uncovered for 8 minutes until it reduces slightly and the flavours consolidate — taste and adjust salt, tamarind, and chili at this point.

  3. 3

    Poach the Fish(12m)

    Gently lower the marinated fish portions into the simmering curry sauce. Do not stir after adding the fish — instead, gently spoon the sauce over the top of each fillet using a ladle. Reduce heat to a very gentle simmer. Cover and cook for 8-12 minutes depending on thickness — 2.5cm fillets will need 8 minutes, thicker cuts 11-12 minutes. The fish is ready when it flakes in large, clean flakes when pressed with a fork and is opaque throughout. Do not overcook; overcooked fish disintegrates into the sauce and loses its texture. Squeeze over the juice of one lime at the end of cooking.

  4. 4

    Cook the Wali wa Nazi(30m)

    In a medium saucepan, combine the drained soaked rice with 400ml coconut milk and 280ml water plus a generous pinch of salt. Bring to a boil uncovered over high heat. Immediately reduce to the lowest heat, cover tightly, and cook for 15 minutes without lifting the lid. Remove from heat and steam covered for a further 10 minutes. The rice should be fluffy, separate, and carry a distinct, sweet coconut aroma.

Serve Steps

  1. 1

    Plate and Garnish(2m)

    Mould the wali wa nazi into a dome at one side of a wide, shallow bowl using a wetted cup or small bowl as a mould. Carefully transfer the fish portions alongside the rice using a wide flat spatula — handle gently to keep the fillets intact. Ladle the golden coconut curry sauce over and around both the fish and the rice generously. Remove and discard the cinnamon stick, cardamom pods, and cloves if visible. Scatter fresh coriander leaves over the entire plate. Place a lime wedge at the side. Serve immediately.