Bengali Doi Maach: Fish in Yogurt Sauce

Display of fresh fish at a local fish market
Gary Yeowell / Getty Images
  • Total: 3 hrs
  • Prep: 2 hrs
  • Cook: 60 mins
  • Servings: 4 servings
Nutritional Guidelines (per serving)
694 Calories
55g Fat
14g Carbs
37g Protein
See Full Nutritional Guidelines Hide Full Nutritional Guidelines
Nutrition Facts
Servings: 4
Amount per serving
Calories 694
% Daily Value*
Total Fat 55g 70%
Saturated Fat 11g 55%
Cholesterol 130mg 43%
Sodium 186mg 8%
Total Carbohydrate 14g 5%
Dietary Fiber 3g 12%
Protein 37g
Calcium 217mg 17%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)

Bengalis savor every meal and are known to buy vegetables and fish fresh every day for their daily menu. Meals last for hours and preparation is a party in and of itself. This Bengali recipe is commonly made for festive occasions. It is a good idea to add it to your repertoire as it is an option that is light and aromatic for a large gathering of friends and family. It is even a suitable choice for weddings.

Rohu, a freshwater fish in the carp family extensively found in South Asia, is the most common fish used, but, you could also use any other larger fish for the dish. For example, freshwater bass or buffalo carp work well. You might also consider salmon if the other options are not available. Serve with piping hot, plain boiled rice.


  • 1 cup yogurt
  • 1 medium-sized onion (ground to a paste)
  • 1/2 teaspoon red chili powder
  • 1/2 teaspoon turmeric powder
  • 1 tablespoon ginger paste
  • 1 tablespoon garlic paste
  • 2 pounds/1 kilogram fish (with firm white flesh, cut into 1 1/2-inch thick pieces)
  • 4 tablespoons mustard oil
  • 3 cloves
  • 2 green cardamom
  • 1 (1-inch) stick of cinnamon
  • 1/2 dried bay leaf
  • 5 black peppercorns
  • 1 large onion (finely chopped)

Steps to Make It

  1. Mix the yogurt with the onion paste, red chili powder, turmeric, ginger, and garlic pastes and blend. Add the fish pieces to this and gently mix to coat well. Marinate for 2 hours.

  2. Heat 3 tablespoons of the mustard oil on medium heat in a deep pan until hot. Add the whole spices—cloves, cardamom, cinnamon, bay leaf, and peppercorns—and fry until slightly darker.

  3. Now add the chopped onion and fry until transparent.

  4. Add the marinated fish and the marinade and mix gently, but well. Season with salt as required. Stir occasionally. Do this gently to avoid breaking the pieces of fish. Cook until fish is done.

  5. Garnish with the remaining mustard oil, drizzle over the dish, and serve with piping hot plain boiled rice.


  • Thick gravy: The juices from a thicker fish will help make the gravy thicker. A thicker fish will require a little longer to cook.
  • Check fish doneness: To know if the fish is cooked through, gently poke a fork into the thickest portion of the fish at a 45-degree angle. Gently try to pull up some of the fish. Undercooked fish resists flaking and is translucent.
  • Smooth gravy: While adding yogurt to the gravy, be sure to add it slowly. This will make the gravy smooth.
  • Garnish: Add cilantro sprigs and/or coriander to the plate before serving.
  • Add time: Allow the dish some time to sit for flavors to meld. Make sure you remove it from the heat and uncover; you do not want the fish to overcook.

Recipe Variations

  • Change up the fish: Although it is not a freshwater fish like rohu, you can try a variation using mahi-mahi, a flaky white fish found in the Pacific and Atlantic oceans, which can be a good base fish to use for this dish.
  • Make it hot and spicy: It is normally not a spicy dish, but for those who prefer some burn with their bite, you can add more heat to this dish by adding red chilies to the garam masala.

Recipe Tags: