CookSnap is coming soon — Join the waitlist →
Back to recipes

Bengali Yogurt-Marinated Fish

Bengali yogurt-marinated fish, delicately spiced and pan-fried until golden. A classic that's light, tangy, and impressively simple to execute at home.

Total time
25 min
Servings
4
Calories
320
Protein
42g
Bengali Yogurt-Marinated Fish
bengaliseafoodyogurtpan-friedindian

Ingredients

  • 1 cup plain full-fat yogurt
  • 1 tablespoon kasuri methi (dried fenugreek leaves)
  • ¾ teaspoon fine sea salt
  • ½ teaspoon ground turmeric
  • ½ teaspoon ground coriander
  • ¼ teaspoon ground cumin
  • ¼ teaspoon Kashmiri chili powder
  • 1 tablespoon fresh ginger, grated
  • 2 cloves garlic cloves, minced
  • 1.5 pounds firm white fish fillets (cod, halibut, or pomfret), skin-on
  • 3 tablespoons ghee or clarified butter
  • 2 tablespoons fresh lemon juice
  • ¼ cup fresh cilantro leaves, roughly chopped

Instructions

  1. 1

    In a medium bowl, whisk together 1 cup of plain full-fat yogurt, 1 tablespoon of kasuri methi (crumbling it between your fingers to release the aroma), 0.75 teaspoon of fine sea salt, 0.5 teaspoon of ground turmeric, 0.5 teaspoon of ground coriander, 0.25 teaspoon of ground cumin, and 0.25 teaspoon of Kashmiri chili powder until smooth. Stir in 1 tablespoon of freshly grated ginger and 2 minced garlic cloves. The marinade should smell warm and fragrant.

  2. 2

    Pat 1.5 pounds of firm white fish fillets completely dry with paper towels, removing any surface moisture — this prevents the marinade from sliding off during cooking. Check for pin bones by running your fingertip along the thickest part of each fillet, and pull out any you find using tweezers or the tip of a sharp knife.

  3. 3

    Lay each fish fillet skin-side down on a plate and coat generously with the yogurt marinade, working it into any crevices. Reserve about 2 tablespoons of the marinade. Let the fish sit for 15 minutes at room temperature — or up to 1 hour in the refrigerator if you have extra time. The yogurt will cling to the fish and create a protective, flavorful crust.

  4. 4

    Set a 12-inch non-stick skillet or cast iron skillet over medium-high heat. Add 3 tablespoons of ghee or clarified butter and let it heat for about 1 minute until it shimmers and smells nutty — you should see wisps of heat rising from the surface.

  5. 5

    Carefully lay each marinated fish fillet into the hot ghee, skin-side down. Work in batches if needed to avoid crowding the pan — the fish should sizzle immediately, but not violently. If it's popping aggressively, lower the heat to medium. Let the fish cook undisturbed for 4–5 minutes, listening for a steady, even sizzle. The skin should turn golden and crispy.

  6. 6

    Using a fish spatula, gently flip each fillet and cook the other side for 2–3 minutes, until the flesh is opaque throughout and flakes easily when pressed with the back of a spoon. The fish is done when an instant-read thermometer inserted into the thickest part reads 145°F (63°C). Don't overcook — overcooked fish becomes dry and falls apart.

  7. 7

    Transfer each fillet to a serving platter. While the pan is still warm, drizzle the reserved 2 tablespoons of yogurt marinade over the fillets and squeeze 2 tablespoons of fresh lemon juice over the top. Scatter 0.25 cup of roughly chopped fresh cilantro across the fish.

  8. 8

    Serve the doi machh immediately while the fish is still warm and the skin is crispy. The yogurt marinade will have caramelized slightly on the surface, creating a beautiful golden crust. Accompany with steamed basmati rice or warm naan to soak up the subtle, tangy sauce that pools on the plate.

Tools you’ll need

  • medium mixing bowl
  • whisk
  • paper towels
  • tweezers or sharp paring knife
  • 12-inch non-stick skillet or cast iron skillet
  • instant-read thermometer
  • fish spatula
  • serving platter

Cook smarter

Get matched recipes for what’s in your fridge

CookSnap is a free iOS app that finds real recipes from the ingredients you already have. No more grocery-list aspirations.