Bengali Yoghurt Fish Curry

Nick Haddow

"Milk. Made."

"I am a sucker for a good fish curry. It’s about the only time I do anything to fish other than cook it really simply. In Bengal they call this doi maach and they generally use chunks of freshwater fish, but it is great with almost any firm fish that does not fall apart." —Nick Haddow


  • 1 medium onion, roughly chopped
  • 1 red chile pepper, deseeded and roughly chopped
  • 4 cloves garlic, roughly chopped
  • One 3/4-inch piece ginger, peeled and roughly chopped
  • 1 cup plain yogurt
  • 1/2 teaspoon chile powder
  • 1/2 teaspoon turmeric powder
  • 2 pounds 3 ounces firm white fish fillets, cut into chunks
  • 4 tablespoons ghee
  • 1 1/2 teaspoons curry powder
  • 4 cloves
  • 5 black peppercorns
  • 4 green cardamom pods
  • One 3/4-inch piece cinnamon stick
  • 1 tablespoon dried curry leaves
  • 1 dried bay leaf
  • 1 large onion, finely chopped
  • Cooked basmati rice, to serve


In a food processor or with a mortar and pestle, process or pound the roughly chopped onion, chile, garlic, and ginger to a paste. Combine the yogurt, chile powder, and turmeric in a large bowl and add the onion mixture. Add the fish pieces and gently mix to coat well. Cover the bowl with plastic wrap and marinate in the fridge for 2 to 4 hours.

Heat the ghee in a deep heavy-based saucepan over medium heat. Add the remaining spices and bay leaf, and fry for about 2 minutes or until lightly browned. Add the finely chopped onion and fry for a further 2 minutes, stirring constantly.

Add the marinated fish and all of the marinade to the pan and stir gently while bringing to a boil. Reduce the heat immediately to a low simmer and cook for about 10 minutes, or until the fish is cooked through. You can add a splash of water if it is too dry.

Serve hot with basmati rice.

Recipe excerpted with permission from Milk. Made. by Nick Haddow, published by Hardie Grant Books, September 2016. Photography credit: Alan Benson.


4 servings