Making an excellent tofu curry is easy. Here we'll show you how to put this meal together in about 30 minutes and make the best everyday vegan curry recipe.
Our tofu curry is simple, healthy, tasty, family-friendly, nutritious, and fulfilling, and everyone at the table will take seconds.

On this page:
Check out our best tofu recipe collection!
This tofu curry recipe is a vegan curry where we use tofu cubes instead of meat. This dish is inspired by the South Asian Cuisines of India and Nepal.
We use spices such as curry powder, turmeric, and black pepper to recreate those warm Indian flavors that make curries irresistible.
We toast the spices with garlic and ginger. This creates a flavor base that will infuse the curry with a subtle, mouth-warming, yet fresh and zesty aroma.
Finally, we simmer the tofu and the spices in a rich sauce of coconut milk, canned tomatoes, and vegetable broth.
This softens the flavors and creates a rich tofu curry with a creamy texture, delicate to the palate. It's also vegan and gluten-free.
And by the way, you can make this recipe from scratch in less than 30 minutes, in one pot, without pressing the tofu (unless you want to).
Try the curry on basmati rice or homemade flatbread with some fresh cilantro and a squeeze of lemon. It's an easy, nutritious, and fulfilling family-friendly dinner.
Ingredients
Tofu
Use firm or extra firm tofu for this recipe. Softer types of tofu will fall apart in the curry as we let it simmer for about 20 minutes.
However, tofu is a great meat replacement with incredible health benefits and no scientifically proven downsides (unless you are allergic to it).
Onion, garlic, and ginger
Finely chopped and gently fried in little olive oil, they are the perfect flavor base. They are the cornerstone upon which any good curry is built, adding a ton of flavor to your dish.
Olive oil
We prefer to use extra virgin olive oil in our cooking. It has a high antioxidant content, making it healthier than other oils when heated. However, you can replace olive oil with other vegetable oil, including coconut oil.
If you are on an oil-free diet, you can fry the onion in the pan without oil, on low heat, stirring often. The natural oils of the onion will come out and prevent the onion from sticking.
Spices
Curry powder, cumin, and black pepper are essential to make the most basic curry.
If you, like us, love spices, we recommend adding chili flakes, coriander powder, turmeric powder, and garam masala. We use them in our tofu curry, and we recommend you do so too.
Fun fact: spices not only add a ton of flavor to the curry. They also contain antioxidants, potent in fighting inflammation and can help prevent chronic disease.
Vegetable broth
You can use store-bought vegetable stock or make it from scratch at home. We generally go for store-bought, especially if we want to make this vegan curry for a quick dinner. If you don't have vegetable broth, use plain water and add more salt.
Tomatoes
We use canned crushed tomatoes. You can also use whole canned peeled tomatoes or very ripe fresh tomatoes, chopped up into small pieces.
Coconut milk
We prefer full-fat coconut milk, but reduced-fat coconut milk works well too. Coconut milk makes the curry sauce creamy and round.
It also adds a subtle coconut flavor that is great in curry. It balances out the spices and, combined with the tomatoes, creates that deep orange color typical of Indian curries.
It's hard to replace coconut milk in curry. You could use regular plant milk (like soy or oat), but it won't taste the same. Also, the curry won't be as creamy without coconut milk.
Alternatively, you could blend a cup of soaked cashews or almonds with some water to get a smooth, creamy liquid. Then, you can add that to the curry instead of the coconut milk.
Vegetables
We often use cauliflower or broccoli for our tofu curry. But many other veggies would be great in this dish. Try chopped zucchini, green beans, red bell pepper, sweet potatoes, spinach, carrots, and kale.
When you add veggies, you need to consider that the tofu curry needs to simmer for about 20 to 30 minutes to get all flavourful and creamy.
So if you're veggies cook faster than 30 minutes, you should consider that. For instance, if you add spinach, they will only need 5 minutes. Zucchini will need about 10 minutes.
Salt
A touch of salt helps bring all flavors together. We usually add one teaspoon. However, you can add less, taste, and adjust before serving.
The best salts for cooking are sea salt and kosher salt, but you can use any salt.
Ingredients for serving
Lemon
A wedge of lemon per portion. Squeeze on top of the curry just before eating. It adds a touch of freshness and acidity that will boost the flavor of his dish even more. You can replace lemon juice with lime juice.
Cilantro
Fresh cilantro is a perfect flavor match for this tofu curry. We even planted our cilantro plant on our balcony to always have it at hand.
Some people, however, can't stand the cilantro flavor and think it tastes like soap. That's because of a genetic variation of their olfactory-receptor genes, making them taste aldehydes in cilantro, which taste soapy.
If you are one of those people repelled by cilantro, you can use flat-leaf parsley instead.
Rice
Traditionally, basmati rice is the rice of choice for curries. You can replace basmati rice with any other rice variety.
Try whole-grain rice if you want to make this meal more wholesome. If you are not into rice, you can replace it with flatbread or cauliflower rice.
Instructions
To a large pot or dutch oven, add the oil and chopped onion. Gently sauté the onion for 3 minutes, add grated garlic and ginger, and fry gently for another minute.
Tip: to make the tofu curry more digestible, cut the garlic cloves lengthwise and remove the core before finely chopping it.
Note: if you prefer to make the curry oil-free, you can fry the onion in a dry pan on low heat, moving it around often. The onion will release its natural oils, and you won't need to add any oil.
Now turn the heat to low, then add the spices: curry powder, cumin, red pepper flakes, coriander, turmeric powder, black pepper, and salt.
Tip: Adjust the heat by adding more or less red pepper flakes based on your heat tolerance.
Toast the spices while stirring on low heat for a short minute.
Add vegetable stock, 1-inch diced tofu, crushed tomatoes, coconut milk, and your vegetable of choice (we use cauliflower florets here), turn to medium-high heat, and bring to a simmer.
Stir and let simmer for about 20 to 30 minutes, or until the vegetables are cooked and the curry gets creamy.
If the sauce splatters around, then turn the heat down to medium.
Note: If you add different vegetables, like, for instance, spinach or zucchini, they'll need to cook less. Let the vegan curry simmer without the veggies for the first 10 minutes, then add the vegetables.
A couple of minutes before turning the heat off, add the garam masala.
Note: garam masala is optional, but we like to add it towards the end to bring out warmth, sweetness, and floral notes to our tofu curry.
Garam masala is widely used in India and will make your vegan curry more authentic. It's added at the end to preserve its fragrance and aroma.
Serve the tofu curry with homemade flatbread, basmati rice, or whole grain rice with a generous squeeze of lemon juice, freshly chopped cilantro (or flat-leaf parsley), and optionally a spoonful of unsweetened plant-based yogurt.
Serving suggestions
This vegan curry is a great everyday easy dinner, and you can serve it in different ways:
- Serve with healthy grains and make an easy couscous side, just let it sit for 5 mins, and your couscous is ready.
- Serve it with bread, such as this delicious Italian piadina or homemade flatbread; it'd be a great way to sop out all the sauce leftovers!
- Increase your veggie intake, and serve the curry on cauliflower rice; it's a fresh, light-calorie side dish.
If you like to add some veggies on the side, try our:
- Easy tomato salad or tomato cucumber salad for a refreshing and cleansing side salad
- Add a dollop of mint yogurt or cucumber tzatziki on top
- Serve roasted eggplant, tender baked sweet potato, or garlic-roasted broccoli on the side for added greens
Variations
Chickpea curry with spinach
Spinach and vegan curry are meant to be together! You can use fresh or frozen spinach. Add them in 10 minutes before the curry is ready, and enjoy.
Check out our chickpea curry with spinach recipe.
Red lentil curry
To make this curry even creamier, substitute red lentils for chickpeas. You'll get Indian-inspired red lentil dahl that tastes delicious and has a beautiful creamy texture.
Check out our red lentil curry recipe.
Chickpea curry
If you don't have cauliflower or any other veggies, you can still make a creamy, tasty, and wholesome curry with chickpeas.
Check out our creamy chickpea curry recipe.
Cauliflower curry
Another delicious variation of this recipe is one with cauliflower florets. To make it, substitute some of the chickpeas with cauliflower florets. Again, it's wholesome, creamy, and delicious!
Check out our cauliflower curry recipe.
Roasted red pepper and eggplant tofu curry
Our favorite variation is tofu curry with red bell pepper and roasted eggplant. Cut 1 large eggplant into small dice and 1 large red bell pepper into strips. Put them on a baking tray, drizzle with 2 tablespoons of olive oil, a pinch of salt, two twists of pepper, and a bit of paprika.
Roast them in a preheated oven at 390F or 200C until soft and slightly charred (about 15 minutes). Now toss them into the curry and simmer for another 10 minutes.
Make it Thai-Inspired
Try a Thai red curry paste instead of Indian spices. We lived in Thailand for months and loved Thai curries.
A good curry paste should contain lemongrass, garlic, kaffir lime, galangal, red chili, cumin seeds, and cumin powder.
The process is very similar and probably even easier as all the spices are already in the curry paste. You can buy it online, in Asian stores, or the international section of most supermarkets these days.
- Sauté the onions in oil like before, add garlic and ginger, and sauté for another 30 seconds, then add the red curry paste (2 to 3 tablespoons). Stir and fry for a minute.
- Add the veggies (you can choose whatever you like, carrots, green beans, bell peppers, broccoli, cauliflower, zucchini, and eggplants are all excellent options) and the tofu (you can pan-fry the tofu separately beforehand if you like).
- Pour ½ cup vegetable broth and 1 can (15 oz) of coconut milk. Add 1 tablespoon of sugar and 2 tablespoons of soy or tamari sauce.
- Simmer for 10 - 15 minutes till you reach your desired thickness. Finish with either cilantro (fresh coriander) or Thai Basil. This last one is hard to find, so that you can replace it with regular Italian basil). Taste, add salt if necessary, and serve on boiled or steamed jasmine rice.
- Note: do not add any salt to this vegan curry unless necessary. The curry paste and the soy sauce should add enough salt to the dish.
Tips
Want crispier tofu for your curry?
Try making our fried tofu and adding it to the curry before serving it. Our recipe for fried tofu is easy. You can make it in less than 15 minutes while the curry simmers.
Want chewier tofu, more similar to chicken?
We like tofu as is, without pressing it or freezing it. Pressing and freezing tofu is a western practice not popular at all in Asian countries where tofu is widely used as a staple food.
If you prefer chewier tofu, then your best bet is to freeze it.
Frozen tofu is chewier because freezing changes the molecular structure of the tofu. As the water freezes and ice crystal forms, they create tiny holes in the tofu.
The ice crystals make the tofu porous, firmer, and chewier when melted. So if you are into chewier tofu, try freezing it.
How do you use frozen tofu in curry?
To freeze tofu, take it out of its package, drain it, cut it into dice or slabs, and freeze it. Let it in the fridge overnight, or thaw in the microwave. Then pat excess dry water with paper towels and throw into the curry, as described in the recipe.
Is it worth it? We never do it. It just takes too much thinking and prepping for us. But if you are curious, you should try.
Want an even creamier curry?
Let the curry simmer for longer than 20 minutes and up to 30 or even more. Just make sure your veggies don't overcook. If you plan to make a thicker and creamier tofu curry by letting it simmer for longer, add the vegetables a little later.
Storage
Store leftovers in the fridge for up to 3 - 4 days, best in an airtight container. Reheat in a pot on the stovetop, adding a dash of water, or in the microwave.
Tofu curry is also suitable for freezing. The texture of the tofu will change slightly, becoming chewier, but that's normal. To freeze, let the vegan curry cool down completely. Then transfer it into a freezer-friendly container and freeze for up to 3 months.
Thaw it in the refrigerator (it'll take about half a day), in the microwave, or a pot on the stovetop. In this case, though, the heat should be very low.
Get Ahead
Tofu curry is the ultimate recipe to make ahead! It stores well in the fridge for up to 4 days, and its flavor becomes better and better as the spices and the curry sauce infuse the vegetables and the tofu with more flavor.
We usually make a big batch of this recipe and eat it several days after for a quick lunch or dinner.
Questions
Yes. Our tofu curry recipe is gluten-free.
Yes, kind of. This tofu curry is certainly Indian-inspired, although I am not sure this exact recipe exists in India.
The best way to serve tofu curry is with basmati rice. However, other rice types work well, like whole grain rice and jasmine rice. You can also serve this vegan curry with naan or with homemade flatbread.
It depends on your preference. In some parts of India, curries are thicker, almost like cream or paste; in others, they are thinner, more like a soup.
You can make your curry thicker by reducing the amount of vegetable broth or by cooking the curry for longer.
Similar recipes
Join the tofu fan club! We love easy tofu recipes with BIG flavors. Here are some of our favorites:
- Tofu salad with creamy dressing
- Pan-fried mushroom tofu - easy and delicious!
- Tofu meatballs with delicious marinara sauce
- Lemon tofu with a creamy, lemony sauce, ready in 15 mins
- Tofu in pizzaiola sauce - the best Italian-inspired tofu recipe
- Baked juicy tofu - like a baked fish, but vegan
- Tofu soup - with variations for all seasons
- Easy fried tofu, marinated tofu, or air-fried tofu
Recipe
Tofu Curry
Ingredients
- 2 tablespoons olive oil
- 1 medium onion
- 2 cloves garlic
- 1 inch ginger
- 2 teaspoons curry powder
- 1 teaspoon cumin
- ⅓ teaspoon chili flakes
- ½ teaspoon coriander (optional)
- 1 teaspoon turmeric powder (optional)
- 1 teaspoon salt
- ½ teaspoon pepper
- 2 cup vegetable stock
- 9 ounces tofu (firm or extra firm - cut into ¾ inch dice)
- 12 ounces cauliflower (or green beens, red pepper, broccoli, sweet potato, or other)
- 1 small can (15 ounce) crushed tomatoes
- 1 small can (14 ounce) coconut milk (full fat or reduced fat)
- 1 teaspoon garam masala (optional, to add at the end)
Serving suggestions
- 4 wedges lemon
- 1 handful cilantro (or flat leaf parsley)
- 1 - 2 cups basmati rice
- 4 tablespoons unsweetened dairy-free yogurt (optional, a dollop on top)
Instructions
- To a pot add the oil and chopped onion. Gently fry the onion for 3 minutes, then add grated garlic and grated ginger and fry gently for another minute.
- Turn the heat to low, then add curry powder, cumin, chili flakes, coriander, turmeric powder, and black pepper.Toast the spices while stirring for a short minute.
- Add vegetable broth, diced tofu, crushed tomatoes, coconut milk, cauliflower florets (or your vegetable of choice), and salt.Stir and cook on medium heat for 20 to 30 minutes, until the vegetables are cooked and the curry is creamy.
- Turn the heat off, add garam masala, and stir. Taste and adjust for salt before serving.
- Serve on basmati rice or whole grain rice with a generous squeeze of lemon juice, freshly chopped cilantro (or flat-leaf parsley), and optionally a dollop of unsweetened plant-based yogurt on top.
Video Recipe
Notes
Nutritional Values
If you liked this recipe, you might also like:
Sue
Made with tomato sauce since I have a picky eater who doesn’t like tomato chunks. What’s the best way to thicken it? Flavor is spot on!
Louise
Hi Sue,
Let it simmer for 10-15 minutes on low heat and without a lid to make the curry thicker. Just stir it every 5 minutes to avoid the veggies from burning and remove it from the heat whenever you're happy with the creaminess level. I hope that helps.
Kindest,
Louise
Anonymous
This sauce was outstanding! Thank you!
Louise
Amazing, I'm so happy you liked it!!
Cindy
Made the recipe exactly as written, using every optional ingredient. Oh My Goodness. We almost licked our bowls.
Nico
Cindy, I'm so happy you enjoyed the curry! Ahaha, next time you can serve it with Naan bread to sop up the leftovers 😉 Have a great weekend. Cheers, Nico
Courtney
So glad I found this recipe! My son has been asking for something with curry for so long. I finally gave in and found this. Wow, such great flavor and the directions were perfect. This is going to be a part of our rotation for sure! Thank you for the recipe and all the helpful info!
Nico
Hi Courtney, thanks very much for taking the time to leave a comment here. I'm really happy you liked the recipe and the directions! Have a great day, cheers, Nico
Donna
This was excellent!! I am new to cooking with both tofu and curry. A perfect introduction to both!
Nico
Hi Donna, I'm delighted to hear you had a good first taste experience with both ingredients 🙂 Thanks so much for coming back to comment, and have a great rest of your day! Cheers, Nico