Macher kofta is a Bengali fish meatball curry: soft, spiced fish balls simmered in a silky onion-tomato gravy. It is one of those dishes Bengali homes pull out for guests, because it turns a humble fillet into something that feels special.

This version uses a potato binder so the fish balls stay tender instead of rubbery. The gravy leans on onion, tomato, and a short list of warm spices, the same base you see across Indian kofta curries. Serve it over steamed rice and it eats like a holiday.

Key takeaways

  • Macher kofta is a Bengali fish meatball curry, not a red-meat kofta.
  • A mashed potato binder keeps the delicate fish balls from falling apart.
  • Fry the balls, then simmer them briefly in an onion-tomato gravy.
  • It pairs best with plain steamed rice and a squeeze of lemon.

How to Make Bengali Macher Kofta

  1. Boil the fish with a pinch of turmeric and salt for 8 to 10 minutes, then cool and debone it into flakes. Save the poaching liquid for the gravy if you like.
  2. Boil the potato for 12 to 15 minutes, then peel and mash it smooth with no lumps.
  3. In a bowl, combine the fish, potato, onion, ginger-garlic paste, green chili, cilantro, soaked bread, turmeric, garam masala, red chili powder, and 1 tsp salt. Mix to a smooth, slightly sticky paste.
  4. Wet your hands and shape the paste into small balls about 1 inch wide. You should get around 14.
  5. Fry the fish balls in medium-hot oil for 4 to 5 minutes, turning now and then, until golden all over. Drain on paper. Cook in batches if the pan is crowded.
  6. For the gravy, warm 2 tbsp oil in a wide pan and sizzle the bay leaf, cinnamon, cardamoms, and cloves for 1 minute until fragrant.
  7. Add the onion paste and ginger-garlic paste and fry for 4 to 5 minutes until the raw smell goes and the paste turns brown at the edges.
  8. Stir in the tomato puree, turmeric, red chili powder, cumin, garam masala, and 1/4 tsp salt. Cook for 6 to 8 minutes until the oil separates from the sides of the pan.
  9. Pour in 1 cup water and the sugar, then simmer for 5 to 6 minutes until the gravy thickens to a coating consistency.
  10. Slide the fried koftas into the gravy and simmer for 2 minutes so they soak up the flavor. Finish with cream or yogurt, a pinch of garam masala, and chopped cilantro.

Ingredients

  • 1 lb (450 g) white fish fillet (rohu, catla, tilapia, or basa), bones removed
  • 1 medium potato, boiled and peeled
  • 1 small onion, finely chopped
  • 1 tbsp ginger-garlic paste
  • 1 to 2 green chilies, finely chopped
  • 2 tbsp chopped cilantro
  • 1 slice white bread, soaked and squeezed, or 2 tbsp chickpea flour
  • 1/2 tsp turmeric
  • 1 tsp garam masala
  • 1/2 tsp red chili powder
  • 1 1/4 tsp salt, divided
  • Oil for frying
  • For the gravy: 2 tbsp oil, 1 bay leaf, 1 inch cinnamon, 2 green cardamoms, 2 cloves
  • 1 large onion, blended to a paste
  • 1 tbsp ginger-garlic paste
  • 2 medium tomatoes, pureed
  • 1/2 tsp turmeric, 1 tsp red chili powder, 1 tsp cumin powder
  • 1 tsp sugar
  • 1 cup water
  • 2 tbsp cream or plain yogurt (optional)

What is macher kofta

Macher kofta means “fish kofta” in Bengali. The kofta idea traveled across Persia, the Middle East, and South Asia, but when it reached Bengal, where rivers and rice define the table, fish became the natural filling. The result is lighter than a meat kofta and built around the sweet, flaky fish Bengalis cook every day.

In Bengal the dish is treated as a occasion curry rather than a weekday jhol. It shows up at birthdays and festival lunches because the hands-on shaping and frying take more effort than a simple fish curry. The version below keeps that celebratory feel but trims the work so you can make it on a regular night.

Choosing the fish

Rohu (rui) and catla are the classic Bengali choices because they are mild, bony river fish that flake well after boiling. Outside Bengal, tilapia or basa fillets are the easy swap: boneless, cheap, and neutral enough to take the spice. Avoid oily fish like salmon, which fights the delicate gravy.

If you use a whole fish, boil it first, then pick the meat from the bones by hand. That extra step pays off in flavor, but a clean fillet gets you 90 percent of the way there with none of the fiddling. Either way, the fish should be flaked, not left in big chunks, so the balls bind.

The potato binder

The potato is what makes this recipe work at home. Fish alone makes a loose, fragile ball that breaks in the gravy. A small boiled, mashed potato adds just enough starch to hold the shape while keeping the inside soft. Some recipes use chickpea flour or a soaked bread slice instead, and both are fine.

Do not skip mashing the potato smooth. A lump will leave a hole in the ball, and that is exactly where it splits when it hits the simmering gravy. Mix the potato in while it is still warm so it blends into the fish without clumps.

Building the gravy

The gravy is a standard Bengali onion-tomato base. Whole spices (bay leaf, cinnamon, cardamom, clove) go into hot oil first to perfume it, then onion and ginger-garlic paste are fried until brown, not just softened. That browning is what gives the curry its depth.

Tomato puree and ground spices follow, cooked until the oil pools at the edge of the pan. That “oil separates” moment is the sign the raw spice taste is gone. Sugar is not for sweetness; a teaspoon rounds off the tomato tang the way Bengali curries usually do. A splash of cream or yogurt at the end adds body, but the dish is good without it.

Serving macher kofta

Macher kofta is meant for rice. Plain steamed basmati or gobindobhog soaks up the gravy without competing with it. A wedge of lime or lemon on the side cuts the richness, and a simple cucumber salad keeps the plate fresh.

If you want bread instead, roti or naan work, though rice is the traditional match. The koftas are delicate, so ladle the gravy over them at the table rather than stirring hard, or they can break.

If you like kofta in curry, see How to Make Indian Meatball Curry (Kofta) for the red-meat version, or How to Make Malai Kofta for the paneer-and-nut style. For a South Asian curry neighbor, How to Make Sri Lankan Meatball Curry keeps the coconut theme going, and How to Make Hong Kong Curry Fish Balls shows a different take on fish balls in sauce. Browse more in the Indian meatball recipes hub.

Tips for tender koftas

  • Use a mild white fish. Strong, oily fish overpowers the gentle gravy.
  • Mash the potato lump-free. It is the binder that keeps the balls whole.
  • Fry at medium-hot oil. A steady sizzle sets the outside before the inside overcooks.
  • Add the koftas last. Two minutes of simmer is enough; longer and they can turn dense.

FAQ

Is macher kofta the same as fish kofta?

Yes. “Macher kofta” is the Bengali name and “fish kofta” is the English one for the same dish: fish meatballs in a spiced curry. The Bengali version is usually milder and built on onion, tomato, and potato rather than heavy cream.

What fish is best for macher kofta?

Rohu or catla are traditional in Bengal because they flake cleanly after boiling. Tilapia and basa fillets are the easy substitutes almost everywhere, since they are mild, boneless, and take the spice well. Avoid oily fish like salmon.

Can I bake the fish balls instead of frying?

You can. Brush them with oil and bake at 400F (200C) for about 12 minutes, turning once, until set and lightly golden. They will be a little less crisp than fried but hold together fine in the gravy, and the dish gets lighter.

Why do my fish koftas break in the gravy?

Usually the binder is too weak or the potato was lumpy. Mash the potato smooth, use the bread or chickpea flour, and fry the balls until they form a light crust before they go into the sauce. Add them at the very end and simmer just 2 minutes.

Can I make macher kofta without onion-tomato gravy?

The onion-tomato gravy is the standard, but some homes swap in coconut milk for a coastal-style curry or yogurt for a tangier one. Both are real variations; the fish balls stay the same, only the simmering liquid changes.

What do you serve with Bengali fish kofta?

Steamed rice is the classic partner, with a lemon wedge and a cucumber salad on the side. Roti or naan also work. Ladle the gravy gently so the soft koftas keep their shape on the plate.

Sources