Craving a comforting curry that reminds you of traditional fish curry? This vegan fish curry may surprise you with how much it tastes like the original.

In This Post:
Note: Some of the links below are affiliate links. At no additional cost to you, I may earn a small commission if you purchase through those links. You can read my full affiliate disclosure here.
This vegan fish curry is one of my all-time favorite curry recipes. It is rich, creamy, spicy, and surprisingly similar in flavor to the fish curry I used to make with salmon - even though there is nothing obviously fish-flavored in the ingredients.
The original fish curry was one of the first Indian dishes I ever ate, and I immediately fell in love with its combination of warming spices, creamy coconut milk, and tomato sauce. I cooked it so often that I eventually knew the recipe by heart (the different spices call for the same quantity so it's easy to remember the exact measurements:1.5 teaspoons of each cumin, chili powder, ground coriander, and salt).
When I switched to a vegan diet, I wanted to recreate that comforting curry without the fish. After trying tofu and chickpeas, I found that soya protein chunks work best. They absorb the flavorful curry sauce beautifully and give the dish a satisfying, meaty texture.

Why does this vegan fish curry taste so much like the original?
This is probably the most surprising thing about this recipe: there is no vegan fish, seaweed, fish sauce, or other obviously fish-flavored ingredient in the curry. And yet, it really does taste remarkably like the original.
One reader was skeptical for exactly that reason. After making the recipe, Nicola wrote that she couldn't see anything in the ingredients that would make it "fishy" - but was surprised by its distinct fish-like flavor. She also said that her husband couldn't get enough of it and that it would become a regular dish in their house.
I couldn't agree more. Somehow, the combination of spices, lemon, tomato, coconut milk, and soya protein creates a flavor that is surprisingly reminiscent of the original fish curry.
The best vegan substitute for fish
I use soya protein chunks (TVP) as the fish substitute in this curry. I recommend using larger, cube-shaped chunks rather than very finely minced soy protein. The chunks are cooked in vegetable broth first, which gives them flavor and a pleasant texture, before they are added to the curry sauce.
I also tried making this curry with plain tofu and chickpeas, but neither worked quite as well. Tofu was too bland, while chickpeas changed the character of the dish too much.
What you'll love about this vegan fish curry
- Surprisingly fish-like flavor without fish or fish sauce
- Creamy and comforting thanks to coconut milk and tomatoes
- Easy to make with simple ingredients
- Protein-rich thanks to the soya protein chunks
- Naturally gluten-free
- Delicious served with basmati rice
๐ฝ Recipe
Vegan Fish Curry - Surprisingly Like the Original
Ingredients
Curry
- 125 g soya protein chunks small (cube-shaped)
- 500 ml vegetable broth
- Juice of 1 lemon
- 1,5 teaspoons ground coriander
- 1,5 teaspoons cumin
- 1,5 teaspoons chili powder
- 1,5 teaspoons salt
- 1 midsize red onion peeled and chopped coarsely
- 3 tablespoons of rapeseed oil or coconut oil
- 2 cloves of garlic peeled and chopped coarsely
- 2 tablespoons of ginger peeled and chopped finely
- 400 ml coconut milk
- 400 g canned tomatoes or 400 ml tomato passata
Rice
- 400 g basmati rice white or brown, both work well
- 1 teaspoon caraway seeds optional
- Salt
Topping
- 3-4 sprigs cilantro for decoration optional
Instructions
- Cook the soya protein chunks with the vegetable broth for 20-30 minutes on low heat (lid on).
- Combine the lemon juice with the ground cilantro, cumin, chili powder and salt until you get a thick paste.
- In a large pan, fry the onion in the oil until translucent. Add the garlic and ginger and cook until fragrant. Add the spice paste and cook stirring continuously until until the yummy smell of the spices fills the kitchen.
- Add the coconut milk and the canned tomatoes (or tomato passata) to the pan, give it a gentle stir to combine everything.
- Drain the soya protein chunks well and add them to the pan.
- Cook on low to medium heat for 15-30 minutes, stirring occasionally. At the beginning it's quite runny, and you want to allow it to reduce by half with the lid off. This might cause a little mess of red sprinkles around the pan as the tomato coconut mix will be quite bubbly.
- Taste test it to know if it's done. It shouldn't be runny anymore but more like a sauce and should burst with flavors.
- Cook the rice according to the package instructions, adding a generous pinch of salt and caraway seeds if you fancy. The seeds are optional, but I find they add a gorgeous depth of flavor to the rice.
- Serve the rice with curry and some cilantro leaves.

Other Curry & Indian-Inspired Recipes
- Watermelon Rind Carrot Curry
- Lemony Cauliflower and Potato Curry
- 20-Minute Curry Fried Rice
- Indian Red Lentil Soup
Enjoy,
Ramona
PS: If you try it, tell me in the comments how it turned out. I'm always curious.
โฅ







Cristina says
This looks delicious! I'm obsessed with all things Thai & curry so I can not wait to make this!
Ramona says
Thank you, Thai food and curry dishes do have something so filling and satisfying, to me they are the healthiest comfort food.
I hope you will love this curry recipe just as much as I do. I'd be happy to hear how it went once you get the chance to cook it.
Anja says
Dear Ramona,
we tried your curry two days ago and it was really, really tasty, although it is easy to make and has few ingredients... I can understand, why this recipe accompanied you for so long! Great you found a way to exchange the fish. What soya protein do you use? I tried the "pulled soya" from veganz and it really fitted well! We will eat this again, I am sure.
Thank you for sharing!
Anja
Ramona says
Dear Anja,
So happy that you tried out the vegan fish curry and that both of you liked the dish. ๐ It really is one of my favorite meals, and one that I never grow tired of.
As to the soy protein: I don't have a particular brand that I can recommend as I'm using different organic brands and I liked all them (anything I can find at Denns, Alnatura, or DM). I just pay attention to buy the ones that are not too fine-grained (not minced) but rather the cube-sized ones.
I haven't tried the "pulled soya" from Veganz, thanks for the tip, will give it a try soon.
Foodgoggle says
Love the vegan version of fish curry.
Ramona says
Thank you, so happy you like it. In fact, it's one of my all-time favorite recipes that I cook very often.
Nicola Aslam says
I couldnโt see anything in the recipe that would make it โfishyโ. I was wrong! It is absolutely delicious and somehow has a distinct fishy flavour. My husband canโt get enough of it, and it will become a regular dish in our house! Thank you ๐
Ramona says
Thanks for your nice feedback, Nicola. So happy to hear you and your husband like the vegan fish curry. Isn't it amazing how "fish-like" it tastes even though there is no particular "fish" flavor in it? It's like a miracle curry.