Machher Jhol
A fragrant Bengali fish curry with tomatoes, turmeric, and mustard oil—tender fish in a light, golden broth. Ready in under 40 minutes.
- Total time
- 35 min
- Servings
- 2
- Calories
- 278
- Protein
- 32g

Ingredients
- ¾ lb Rohu or other white fish (skin-on fillets or steaks)
- 2.5 tablespoons Mustard oil
- ½ teaspoon Yellow mustard seeds
- ½ teaspoon Nigella seeds (kalonji)
- 1 whole Onions, medium
- 2 whole Tomatoes, medium
- ½ teaspoon Turmeric powder
- ¼ teaspoon Red chili powder
- ½ tablespoon Ginger paste
- 1.5 cups Water
- 3 tablespoons Coriander leaves, fresh
Instructions
- 1
Pat the fish dry with a clean kitchen towel by placing it on a dry towel and gently pressing from head to tail—this helps it cook faster.
- 2
Cut the onion lengthwise from root to tip into two halves, then place each half flat-side down and slice it crosswise into thin half-moon pieces about 1/8 inch thick.
- 3
Cut each tomato into four equal wedges by slicing lengthwise through the center, then rotating 90 degrees and slicing through again to create quarters.
- 4
Pour 2.5 tablespoons of mustard oil into a large pot (10-inch diameter or larger) and place it over medium-high heat for 90 seconds until the oil shimmers and slides quickly when you tilt the pot.
- 5
Add 0.5 teaspoon of mustard seeds and 0.5 teaspoon of nigella seeds to the hot oil and stir constantly for 20 seconds until they pop and smell intensely fragrant.
- 6
Add the sliced onions to the pot and stir every 15 seconds for 3 minutes until the onion pieces turn soft and the edges begin to look pale gold.
- 7
Stir in 0.5 tablespoon of ginger paste and cook, stirring constantly, for 30 seconds until the paste releases a sharp, warming aroma.
- 8
Add 0.5 teaspoon of turmeric powder and 0.25 teaspoon of red chili powder to the pot and stir for 15 seconds until the spices coat the onions and smell fragrant.
- 9
Add the tomato wedges to the pot and stir gently for 2 minutes until the tomatoes begin to soften and release their juices.
- 10
Pour 1.5 cups of water into the pot, stir once, and raise the heat to high until you see large bubbles rapidly breaking the surface, about 3–4 minutes.
- 11
Lower the heat to medium, gently lay the fish pieces into the simmering liquid, and let them cook undisturbed for 5 minutes until the flesh near the thickest part flakes easily when pressed with a fork.
- 12
Gently stir the curry once by lifting the spoon slowly from the bottom to avoid breaking the fish, then taste and adjust salt if needed.
- 13
Turn off the heat and scatter 3 tablespoons of fresh coriander leaves across the surface of the curry.
- 14
Ladle the curry into two bowls, placing one piece of fish and several pieces of tomato and onion in each bowl, then pour the golden broth over the top.
Tools you’ll need
- 12-inch pot with lid or cover
- Cutting board
- Chef's knife (8-inch)
- Kitchen towel
- Wooden spoon
- Ladle
- Fork
- Two bowls
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.

