Skip to main content

Macher jhol recipe

A healthy twist on a classic family favourite, the Bengali fish curry.

Prep: 20 mins
Cook: 20 mins
Serves 4

Nutritional information

Per serving:

  • 891kJ / 213kcal
  • 38.3g protein
  • 1g carbohydrate, of which 0.9g sugars
  • 6.7g fat, of which 1.4g saturates
  • 0.4g fibre
  • 0.32g salt
A fillet of fish in a spicy dark orange sauce, served with chopped coriander on a bed of rice


  • 4 fish steaks (unsalted)
  • 0.5 teaspoon turmeric powder
  • 0.5 teaspoon salt (optional)
  • 4 medium tomatoes, finely chopped
  • 3 garlic cloves, finely chopped
  • 4 green chillies, finely chopped
  • 1 tablespoon powdered mustard seeds
  • 1 teaspoon onion seeds (kalonji)
  • 470ml water
  • 4 tablespoons mustard oil

Swap tip

To reduce the salt content of the dish, try swapping the salt for paprika or lemon juice


  1. Put the fish steaks in a bowl with the turmeric powder and a pinch of salt. Mix well and set aside for later.

  2. In a blender or mixing bowl, blend the tomatoes, garlic, 3 green chilies, powdered mustard, pinch of salt and 120ml water to a smooth paste. Keep aside.

  3. Heat 2 tablespoons mustard oil in a pan. Add the kalonji seeds and let sizzle for about 10 seconds, then add the blended tomato mixture. Turn the heat down to low, and stir for 8 minutes or so.

  4. Once the mixture has got a deeper, darker colour, add 350ml of water, stir well and bring to a boil. Once it's boiling, turn the heat back down to simmer on low for another 10 minutes.

  5. Heat 2 tablespoons of mustard oil in a pan, and then fry the marinated fish steaks until golden brown on both sides. Add the fish to the tomato mixture and leave to simmer for 2 or 3 minutes.


    The fish steaks can also be wrapped in foil and baked in the oven instead, if you want to use less oil.

  6. Top with chopped coriander leaves and serve hot.


    Serve with a portion of steamed or boiled long grain rice (cooked to packet instructions).