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.
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.
Serves 4
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.
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.
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.
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.
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'.
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.
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.
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.
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.
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.
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.
Any firm freshwater fish: tilapia, catfish, perch, or even cod fillet cut thick. Avoid oily fish like mackerel — too strong for the delicate gravy.
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.
Yes, but thaw fully in the fridge first and pat dry before marinating. Frozen fish releases too much water when fried, ruining the texture.
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.
Per serving (340g / 12.0 oz) · 4 servings total
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →Join the conversation
Sign in to leave a comment and save your favourite recipes