
This Sri Lankan tofu curry is a quick, spicy and zesty vegan curry made with firm tofu, fresh tomatoes, coconut milk, curry leaves and tamarind. Ready in about 30 minutes, this easy curry delivers vibrant flavour without being heavy.
Looking for more vegan curries? Try my chickpea and spinach curry, mushroom masala, red lentil curry or masoor dal with eggplant. For something different try my tofu katsu curry with crispy tofu and Japanese inspired flavours.

Email Me This Recipe
Why You'll Love This Tofu Curry
What Makes This Curry Sri Lankan-Style?
Inspired by a Sri Lankan fish curry I used to make before I went vegan, I've swapped the fish for tofu, but kept the fragrant spices, curry leaves, chilli, tamarind and coconut milk that give the original its character.
This tofu curry is fragrant, deeply flavoured and layered with brightness. Whole spices, including fresh fragrant curry leaves, bloom in oil before aromatics are added with fresh chilli to create a base that is full-bodied and fiery. Fresh tomatoes bring sweetness and umami, while tamarind adds a distinctive tang. Coconut milk then brings everything together, creating a curry that's rich without being heavy.
Tofu Curry Ingredients & Substitutions
For the Spice Mix
This tofu curry has a few spices, no lie. Most you can get at your local supermarket, but you may have to hunt down the curry leaves at an Asian grocer. They are worth it.

For the Tofu Curry

Tofu. Use firm tofu to create texture and structure. If you are not simpatico with soy, I've made this curry with both jackfruit and banana blossom and both worked beautifully. You could also make this a chickpea curry.
French shallots provide a sweeter, slightly garlicky note, however Spanish onion will work in a pinch.
Ginger and garlic. Always.
Tamarind. Tamarind products vary in strength and consistency between brands, so add a little at a time and adjust to taste. If using a particularly concentrated product, you may need less than the amount specified in the recipe.
Tamarind has a unique flavour, so it's tricky to find a true substitute. A tablespoon of brown sugar mixed with the juice of a lime is the closest I've come, or you can add a touch of pomegranate molasses.
What can I do with leftover tamarind paste? Tamarind paste can be added to Asian-inspired marinades for sourness, in salad dressings or you could try a tamarind chutney recipe, perfect for dipping pakoras or curry puffs.
Curry leaves. I first started cooking with curry leaves after I found Hetty McKinnon's whole roasted cauliflower with turmeric and coconut sauce recipe. They are incredibly fragrant with a unique flavour making them difficult to find a substitute. If you can't get them, omit and add a big squeeze of lime to the finished curry.
Chillies. Use long green chillies.
Tomatoes. Fresh is best. If you don't have large tomatoes, use cherry (about 2 cups) but I recommend sticking with fresh tomatoes over canned. Canned will change the flavour of your tofu curry substantially.
Coconut oil or a neutral flavoured oil works here.
Cornstarch (cornflour). We are going to lightly toss the tofu through a little cornflour - it's a bit of a cheat to thicken the sauce without making a slurry.
What Does Sri Lankan-Inspired Curry Taste LIKe?
This Sri Lankan-inspired tofu curry has layers of flavour that work together to create a vibrant, full-flavoured curry. It's spicy, tangy and aromatic, with a creamy richness from the coconut milk and a bright, zesty finish from the tamarind and fresh ingredients. It's bold and deeply flavoured without feeling heavy.
Step-by-Step Guide
You'll find full instructions and measurements in the recipe card at the bottom of the post.
Step 1. Press and coat the tofu
Go ahead and press the tofu (for at least 20 minutes) before cutting it into cubes and transferring it to a bowl with the cornflour. Toss well to coat and set aside.
See how I press tofu using a large pot in my marinated tofu feta post.
Step 2. Bloom the spices.
In a mortar and pestle, give the fenugreek, fennel seeds and the white peppercorns a bit of a bash to break them up. You could also do this in a mini food processor or spice grinder.
Heat oil in a large heavy-bottomed pot over medium-high heat, add the crushed seeds and pepper and the curry leaves and stir until spices pop (about 1 minute).

Step 3. Cook the aromatics
Stir in the shallots, garlic, ginger and green chilli and cook, stirring occasionally, for around 5 minutes or until the onions are soft. Add the turmeric, mustard seeds, cumin seeds and chilli powder (if using) to the pan and fry for a minute or until fragrant.
Step 4. Add the tofu
Stir in the tofu (shake any excess cornstarch off beforehand) to coat it in your spice mix.
Step 5. Add tomatoes and liquids
Stir in the chopped tomatoes and cook for 3 minutes. Add the tamarind paste and veggie stock (or water) and stir through before adding the coconut milk.

Step 6.
Simmer for 10 minutes, or until the tomatoes begin to break down and the sauce thickens.
Serve with a little rice or quinoa and you're golden.
Storage
To store tofu curry in the fridge: Once cooled, store leftovers in an airtight container in the fridge for up to 4 days.
This curry, like most, will thicken in fridge. You can reheat gently in a saucepan over low to medium heat, adding a splash of water to thin it out if needed. Just a splash.
To store tofu curry in the freezer. You can freeze this curry, although the texture of the tofu will change. Once cooled, transfer the curry to a freezer-safe container and freeze for up to 2 months. Thaw in the fridge and reheat in a saucepan, adding a splash of water to thin it out again.

FAQs
Yup, this tofu curry is gluten-free. We lightly dust the tofu in corn flour (cornstarch) but that is naturally gluten-free.
Tamarind paste and concentrate is available at most Asian grocery stores. You can also buy it online.
Serve your tofu curry with basmati or jasmine rice. You can also serve it with a cup of cooked quinoa for 8g of additional protein. If the curry is a touch spicy for you, add a dollop of vegan natural yoghurt.
More Vegan Curries
Sign up to my newsletter and follow along on Facebook, Pinterest and Insta for all the latest news. If you like this recipe, please check out my cookbook "Great Vegan Meals for the Carnivorous Family" It's full of simple, carnivore-approved family recipes.
Make This Recipe

Sri Lankan Tofu Curry (30 Minutes)
Equipment
- Heavy-bottomed pan
Ingredients
For the Curry
- 400 g firm tofu pressed well (see Note 1.)
- 1 tablespoon cornflour (cornstarch)
- 1½ tablespoon coconut oil or a neutral-flavoured oil
- 2 French shallots peeled and finely diced
- 3 garlic cloves peeled and minced
- ½ tablespoon ginger minced or finely grated
- 1-2 green chillies finely sliced
- 10 curry leaves a small handful
- 3 large tomatoes chopped
- 1 tbsp +1 tsp tamarind paste (see Note 2.)
- ½ cup (125 ml) vegetable stock
- 200 ml light coconut milk or regular
- ½ teaspoon salt
Spices
- 1 teaspoon fenugreek seeds crushed (see Note 3.)
- 1 teaspoon fennel seeds crushed
- 1 teaspoon white pepper corns crushed
- ½ teaspoon turmeric ground
- 2 teaspoon brown mustard seeds
- 1 teaspoon cumin seeds
- ½ teaspoon chilli powder optional
Instructions
- Press the tofu well (for around 20-30 minutes), cut it into cubes and transfer to a bowl with the cornflour. Toss well to coat and set aside.
- In a mortar and pestle, give the fenugreek, fennel seeds and the white peppercorns a bit of a bash to break them up. You could also do this in a mini food processor or spice grinder.
- Heat the oil in a large, heavy-bottomed pot over medium-high heat, add the crushed seeds and pepper and the curry leaves and stir until the spices pop (about 1 minute). Be careful of the hot oil here.
- Stir in the shallots, garlic, ginger and green chilli and cook, stirring occasionally, for around 5 minutes or until the onions are soft. Add the turmeric, mustard seeds, cumin seeds and chilli powder (if using) to the pan and fry for a minute or until fragrant.
- Gently stir in the tofu to coat it in the spices.
- Stir in the chopped tomatoes and cook for 3 minutes. Add the tamarind paste and veggie stock (or water) and stir through before adding the coconut milk.
- Simmer for 10 minutes, or until the tomatoes begin to break down and the sauce thickens.
- Serve with fresh rice.
Notes
Nutritional Disclaimer
The nutritional information is an estimate only and is automatically calculated using online tools. For accurate results, we recommend calculating the nutritional information based on the ingredients and brands you use.





alex dubois says
I'm not sure 1/2 teaspoon of cornflour goes over much of the tofu, otherwise delicious
Amanda says
Oh, I am glad you liked it, Alex. The cornflour is just a light dusting to dry off the tofu a little and later helps to thicken the sauce. You can take it up to a teaspoon if you like. No worries. Thanks for reaching out - I appreciate it. 🙂
Asha says
Good recipe. I cook lots of south Asian food, the spices in this are just right. I added lots of patty pan squash, an eggplant, and green beans, and used tamarind sauce (used in Indian and Pakistani chaats) instead of the tamarind, and extra green chillies. Doubled the recipe. Was excellent!
Thenmoli Rajendran says
Turned out delicious. We all loved it!❤️
Amanda says
Oh, that's fantastic, Thenmoli. Thank you for letting me know. 🙂
Danu says
Hello, Can I freeze the Curry?
Regards!
Amanda says
Hi Danu, you can freeze the curry, however, the texture of the tofu will change after freezing. I have included a "storage" section in the blog post with instructions to freeze 🙂 Have a great day.
Anna says
This was really fantastic, thanks for the recipe!
Amanda says
Awesome, Anna. I am so happy you liked it. 🙂
Anura bandara says
Sounds good