Bengali Fish Curry Recipe (Indian Fish Masala)

Bengali Fish Curry Recipe: Bengali Fish Curry, also known as “Macher Jhol” in Bengali, is a popular fish-based dish that originates from the eastern part of India. It is a simple yet flavorful curry that is typically made with freshwater fish such as Rohu, Katla, or Hilsa. First, fry the onions in oil until they are golden brown before making the curry.

Then, a blend of spices, including cumin, coriander, turmeric, and red chili powder, is added to the onions and fried until fragrant. Next, chopped tomatoes are added to the mixture and cooked until they are soft and have released their juices. Once the base of the curry is ready, the fish is added along with water and salt.

Bengali Fish Curry Recipe (Indian Fish Masala)
Bengali Fish Curry Recipe (Indian Fish Masala)

The curry is then simmered until the fish is cooked through and the flavors have melded together. Finally, fresh cilantro leaves are added for garnish. Most of the time, Bengali fish curry is served with steamed rice or flatbread like naan or roti. Many people in India and all over the world enjoy this dish because it is delicious and filling.

Bengali Fish Curry Recipe


  • 500g of fresh fish (any white fish will do, such as tilapia, cod, or haddock)
  • 2 medium-sized onions, chopped
  • 3-4 cloves of garlic, minced
  • 1 teaspoon of ginger paste
  • 2-3 green chilies, slit
  • 2-3 medium-sized tomatoes, chopped
  • 1 tablespoon of tomato paste
  • 1 tablespoon of cumin powder
  • 1 tablespoon of coriander powder
  • 1 teaspoon of turmeric powder
  • 1 teaspoon of red chili powder
  • Salt, to taste
  • 1/2 cup of mustard oil
  • 1 tablespoon of ghee
  • 1 cup of warm water

For garnish:

  • Fresh coriander leaves, chopped
  • 1-2 green chilies, sliced


  1. Clean the fish thoroughly and cut it into medium-sized pieces. Rub the fish pieces with turmeric and salt, and keep them aside for 10-15 minutes.
  2. Heat mustard oil in a pan over medium heat until it starts to smoke. Add the fish pieces to the pan and fry them until they turn golden brown. Remove the fish from the pan and keep it aside.
  3. In the same pan, add chopped onions and fry until they turn golden brown. Then add minced garlic, ginger paste, and slit green chilies. Fry for another minute.
  4. Add chopped tomatoes and tomato paste to the pan, and cook until the tomatoes are soft and mushy.
  5. Add cumin powder, coriander powder, red chili powder, and turmeric powder to the pan, and fry for 1-2 minutes.
  6. Add warm water to the pan and mix well. Bring the gravy to a boil and then reduce the heat to medium-low.
  7. Add the fried fish pieces to the pan and cover it with a lid. Let it cook for 8-10 minutes on medium-low heat.
  8. After 10 minutes, add a tablespoon of ghee to the pan and gently stir the curry. Cook for another 2-3 minutes.
  9. Turn off the heat and let the curry rest for 5-10 minutes before serving.
  10. Garnish the Bengali fish curry with fresh coriander leaves and sliced green chilies.

Enjoy your Bengali fish curry with steamed rice or roti!


  • Use mustard oil for an authentic Bengali flavor.
  • You can adjust the spiciness of the curry by adding more or fewer green chilies and red chili powder.
  • Be careful not to overcook the fish, as it may become tough and rubbery.

Leave a Comment