This Indian Fish Curry is a warm, comforting dish I turn to when I’m craving bold flavor and a touch of elegance. It brings together tender, mustard-marinated fish with a velvety cashew-based sauce infused with traditional Indian spices. Inspired by Bengali cuisine, this recipe blends spicy, tangy, and nutty notes into one beautifully balanced dish. When I serve it with rice or naan, it becomes a complete meal that feels both homely and special.

Why You’ll Love This Recipe

I love how this curry brings depth without needing complicated ingredients. The mustard marinade gives the fish a unique zing, while the cashew paste creates a silky sauce without any dairy. Aromatic spices like cumin, coriander, and turmeric build warmth, and I can adjust the cayenne for the perfect heat level. It’s the kind of dish that’s deeply flavorful yet surprisingly easy to make at home.

Ingredients

(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)

  • 3 tablespoons oil, divided

  • 2 teaspoons mustard

  • 1/2 teaspoon black pepper

  • 1 1/2 teaspoons salt, divided

  • 1 pound fish fillets (such as cod or tilapia)

  • 1 onion, chopped

  • 2 cloves garlic

  • 1 inch fresh ginger, peeled

  • 1/4 cup cashews

  • 1/2 teaspoon cayenne pepper (adjust to taste)

  • 1/2 teaspoon ground cumin

  • 1/2 teaspoon ground coriander

  • 1/2 teaspoon sugar

  • 1/4 teaspoon turmeric powder

  • 1 large tomato, chopped

  • 1/2 cup broth (vegetable or fish broth)

  • Fresh cilantro leaves for garnish

Directions

  1. I begin by mixing 2 tablespoons of oil with mustard, black pepper, and 1/2 teaspoon of salt in a shallow bowl. I add the fish, turning to coat it well, then cover and refrigerate it for 30 minutes to marinate.

  2. While the fish marinates, I blend the onion, garlic, ginger, and cashews into a smooth paste.

  3. I preheat the oven to 350°F (175°C).

  4. In a skillet over medium-low heat, I warm the remaining 1 tablespoon of oil and cook the cashew paste for 1–2 minutes until it smells fragrant.

  5. I stir in cayenne, the remaining salt, cumin, coriander, sugar, and turmeric, cooking for about 5 minutes. Then I add the chopped tomato and broth, stirring well to create a sauce.

  6. I remove the fish from the marinade, place it in a baking dish, and pour the sauce over the top.

  7. I cover the dish with foil and bake for about 30 minutes, or until the fish flakes easily with a fork.

  8. Before serving, I garnish with fresh cilantro for a fresh, herbal finish.

Servings and timing

This recipe serves 4 people and takes 15 minutes of prep and 30 minutes of cooking, totaling 45 minutes. It’s quick enough for a weeknight dinner but impressive enough for guests.

Variations

When I want to add more richness, I blend in a spoonful of coconut milk or yogurt near the end of cooking. I sometimes swap cashews for almonds, or use mustard seeds and mustard oil for a more intense Bengali-style flavor. For a thicker sauce, I reduce the broth slightly or simmer the sauce a few extra minutes before baking.

Storage/Reheating

I store leftovers in an airtight container in the refrigerator for up to 2 days. To reheat, I warm it gently on the stovetop over low heat until heated through, adding a splash of broth if needed to loosen the sauce. I avoid microwaving, as it can overcook the fish and affect the texture.

FAQs

Can I use frozen fish?

Yes, I just make sure to thaw it completely and pat it dry before marinating, so the fish can absorb all the flavors evenly.

What’s the best fish to use?

I like using mild, flaky white fish like cod, tilapia, or halibut. These types hold up well to baking and absorb the marinade beautifully.

Is the sauce spicy?

It has a gentle heat from the cayenne, which I adjust depending on my preference. I can also omit the cayenne for a milder version.

Can I make this curry without baking?

Yes, I’ve cooked it entirely on the stovetop by simmering the fish in the sauce for about 10–12 minutes with a lid on. It works well and saves time.

What should I serve with Indian Fish Curry?

I usually serve it with warm basmati rice or naan to soak up the sauce. A side of cucumber raita or a fresh salad also pairs well.

Conclusion

Indian Fish Curry is one of those dishes that feels special every time I make it. The mustard marinade, creamy cashew sauce, and fragrant spices come together in a way that’s bold, comforting, and full of character. Whether I’m introducing someone to Indian cuisine or making a cozy dinner for myself, this recipe never fails to impress.

Print

Indian Fish Curry

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

This Indian Fish Curry is a bold and comforting dish featuring mustard-marinated fish baked in a rich, creamy cashew sauce infused with classic Indian spices. Inspired by Bengali flavors, it’s a dairy-free, elegant curry that’s perfect for pairing with rice or naan—quick enough for weeknights, yet special enough for guests.

  • Author: Mayaa
  • Prep Time: 15 minutes
  • Cook Time: 30 minutes
  • Total Time: 45 minutes
  • Yield: 4 servings
  • Category: Dinner, Curry
  • Method: Baked / Stovetop
  • Cuisine: Indian, Bengali

Ingredients

  • 3 tablespoons oil, divided
  • 2 teaspoons mustard (ground or prepared)
  • 1/2 teaspoon black pepper
  • 1 1/2 teaspoons salt, divided
  • 1 lb fish fillets (cod, tilapia, or halibut)
  • 1 onion, chopped
  • 2 cloves garlic
  • 1 inch fresh ginger, peeled
  • 1/4 cup cashews
  • 1/2 teaspoon cayenne pepper (adjust to taste)
  • 1/2 teaspoon ground cumin
  • 1/2 teaspoon ground coriander
  • 1/2 teaspoon sugar
  • 1/4 teaspoon turmeric powder
  • 1 large tomato, chopped
  • 1/2 cup vegetable or fish broth
  • Fresh cilantro, for garnish

Instructions

  1. In a shallow bowl, mix 2 tablespoons oil with mustard, black pepper, and 1/2 teaspoon salt. Add fish and coat well. Marinate in the fridge for 30 minutes.
  2. In a blender, combine onion, garlic, ginger, and cashews. Blend into a smooth paste.
  3. Preheat oven to 350°F (175°C).
  4. In a skillet, heat the remaining 1 tablespoon oil over medium-low. Cook the cashew paste for 1–2 minutes until fragrant.
  5. Stir in cayenne, remaining salt, cumin, coriander, sugar, and turmeric. Cook 5 minutes.
  6. Add chopped tomato and broth. Stir well to create a smooth sauce.
  7. Place marinated fish in a baking dish. Pour sauce over fish, cover with foil, and bake for 30 minutes or until the fish flakes easily.
  8. Garnish with fresh cilantro and serve warm.

Notes

  • For extra richness, stir in a bit of coconut milk or yogurt.
  • Almonds can be used instead of cashews.
  • Mustard seeds or mustard oil give a more intense Bengali flavor.
  • For stovetop-only prep, simmer fish in sauce covered for 10–12 minutes.
  • Serve with basmati rice, naan, or cucumber raita.

Nutrition

  • Serving Size: 1 serving
  • Calories: 350
  • Sugar: 4g
  • Sodium: 620mg
  • Fat: 22g
  • Saturated Fat: 3g
  • Unsaturated Fat: 16g
  • Trans Fat: 0g
  • Carbohydrates: 10g
  • Fiber: 2g
  • Protein: 30g
  • Cholesterol: 65mg

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star