
Macher Jhol (Bengali Fish Curry)
Light, golden Bengali fish curry of pan-fried rohu in a turmeric-tomato gravy with potato and slit green chilies — a daily ritual in Kolkata kitchens.
About This Recipe
Macher jhol — literally 'fish in light gravy' — is the everyday fish curry of Bengal, eaten with steamed rice in homes from Kolkata to Dhaka almost every day of the year. Unlike the heavy creamy fish curries of southern India or the coconut-rich gravies of Kerala, macher jhol is deliberately spare: a thin, golden, turmeric-yellow broth scented with nigella seeds (kalonji), pungent mustard oil, slit green chilies and the unmistakable Bengali signature of panch phoron (five-spice mix). The fish — usually rohu or katla, the freshwater carp from the rivers of West Bengal — is lightly fried first in mustard oil to set the surface, then gently simmered in the gravy with potato and sometimes a few florets of cauliflower or eggplant. The technique respects the delicacy of the fish: there is no long simmering, no aggressive masala, no heavy hand. A good macher jhol smells of mustard oil and cilantro, looks like sunshine in a bowl, and tastes of clean fish, sharp green chili and the gentle warmth of turmeric. Bengalis insist the dish must be made with the freshest fish you can find and eaten the same hour it's cooked, ideally with a mound of steaming jasmine or short-grain rice on a banana leaf or thali plate. It is the daily comfort meal of an entire region — and one of the most underrated curries on the planet.
Ingredients
Serves 4
- 600 grohu, katla or any firm freshwater fish, cut into steaks 2 cm thick (or substitute tilapia/cod)
- 1 tspturmeric powder, divided
- 1 tspsalt, divided
- 4 tbspmustard oil
- 1 tspnigella seeds (kalonji)
- 2 mediumpotatoes, peeled and cut into thick wedges
- 2 mediumtomatoes, finely chopped
- 4green chilies, slit lengthwise
- 1 tspKashmiri red chili powder (for color, not heat)
- 1 tspcumin powder
- 500 mlwarm water
- 1 smallhandful of fresh cilantro, chopped, for garnish
Instructions
- 1
Marinate the fish
Rub the fish steaks gently with half the turmeric and half the salt. Let sit 10 minutes — this firms the flesh, masks any fishiness, and gives a golden tint when fried. Don't skip turmeric on fish in Bengali cooking; it's both flavor and antimicrobial tradition.
- 2
Heat the mustard oil to smoke point
Pour mustard oil into a heavy kadai or skillet and heat over high until it just begins to smoke and turns pale yellow. This essential step removes the raw pungency of mustard oil; using it cold or unheated will give the curry a sharp, unpleasant bite.
- 3
Fry the fish
Reduce heat to medium-high. Lay the fish steaks in the hot oil and fry 90 seconds per side until lightly golden but not fully cooked through — they'll finish in the gravy. Remove with a slotted spoon and set aside; the oil will be tinted yellow.
- 4
Fry the potatoes
In the same oil, add the potato wedges and fry 4 minutes, turning, until edges are golden. Push to one side. Add the nigella seeds and let them sizzle for 15 seconds — they'll smell faintly of oregano and onion.
- 5
Build the gravy
Add chopped tomatoes, remaining turmeric, Kashmiri chili powder and cumin powder. Cook 3 minutes until tomatoes break down into a soft paste and the oil starts to separate around the edges — the visual cue Bengali cooks call 'tel chere asbe'.
- 6
Simmer with water
Pour in the warm water, add slit green chilies and remaining salt. Bring to a simmer and cook 8 minutes until the potatoes are tender — a knife should slide through with no resistance. The gravy should be thin and golden, not thick.
- 7
Return fish and finish
Gently slide the fried fish into the gravy and simmer just 4–5 minutes — fish overcooked breaks apart and turns rubbery. Off heat, scatter cilantro and a final drizzle of raw mustard oil if you like the pungency. Rest 5 minutes before serving so the fish absorbs the gravy.
Did you make this?
Rate it and help other cooks find the recipes that actually work.
One tap to sign in, and we'll save the rating you just picked.
Everything you need to plan your week — free
- Meal calendar
- Grocery list
- AI recipe ideas
Track what you eat
Snap your meal to log calories and macros, run fasting timers and track water in the free SnapCal app.
Pro Tips
- →
Mustard oil is essential for authentic flavor — neutral oil makes a curry, not Bengali macher jhol. Always heat it until smoking first.
- →
Fry the fish only briefly — it must finish cooking in the gravy. Overcooking at this stage makes the steaks dry and crumbly.
- →
Kashmiri chili powder is for color, not heat. It gives the curry its golden-orange tone without making it spicy.
- →
Don't substitute black mustard seeds for nigella seeds — they look similar but taste completely different. Look for kalonji at any Indian grocery.
Variations
- •
Doi maach — finish the curry with 4 tbsp whisked yogurt and ½ tsp sugar for a creamier East Bengali version.
- •
Macher jhol with eggplant — add cubed eggplant alongside the potato for a richer texture.
- •
Sorshe ilish — replace the gravy with a mustard-paste sauce, the famous Bengali hilsa preparation.
- •
Macher kalia — a richer, festive cousin with onion-ginger paste and ghee, deeper red-brown color.
Storage
Best eaten the same day. Refrigerate up to 24 hours; reheat gently in a saucepan with a splash of water. Do not freeze — the texture of fish in thin gravy doesn't recover from freezing. Bengalis traditionally make only enough for one meal.
History & Origin
Macher jhol is among the most ancient of Bengali dishes, with versions described in 13th-century Mangal Kavya poetry and still cooked daily in West Bengal and Bangladesh. The dish is simple but ritually important: fish is considered an auspicious daily food, and macher jhol with rice is the quintessential Bengali lunch.
Frequently Asked Questions
What fish can I use if I can't find rohu?
Any firm freshwater fish: tilapia, catfish, perch, or even cod fillet cut thick. Avoid oily fish like mackerel — too strong for the delicate gravy.
Is mustard oil safe to cook with?
Yes, when heated to smoke point first (the smoking eliminates erucic acid concerns). It's standard cooking oil across Bengal and Bihar. In the US it's sold 'for external use only' — bypass that label, just heat it.
Can I make this with frozen fish?
Yes, but thaw fully in the fridge first and pat dry before marinating. Frozen fish releases too much water when fried, ruining the texture.
Why is my gravy too thick?
Bengali macher jhol is supposed to be thin — almost like a broth. If yours thickened, add more hot water. The English-curry-house style of thick fish curry isn't this dish.
Nutrition Facts
Per serving (340g / 12.0 oz) · 4 servings total
Time Summary
Have Questions?
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →More Indian Recipes
You Might Also Like
Similar dishes from other cuisines around the world.
Browse by Ingredient
More recipes built around the same core ingredients.
Free Kitchen Tools
Calculators and converters that pair with this page — no signup needed.
Put This Into a Plan
Schedule it, shop for it, and track what you already have.
Read Next
Longer reads that go deeper on the ideas behind this dish.
Community
Join the conversation
Sign in to leave a comment and save your favourite recipes