Vegan Curry with Tofu

Jump to Recipe
This Vegan Curry with Tofu brings gourmet Indian flavors to your dinner table in under 45 minutes! A creamy plant-based curry with warming Indian spices, nutrient-dense cauliflower and spinach, and protein-packed tofu, it's the perfect harmony of indulgent and wholesome. 
Prep 15 minutes
Cook 25 minutes
Total 40 minutes
5 from 216 votes

It’s always great to have a curry recipe in your back pocket, and this Vegan Curry with Tofu features gourmet Indian flavors but comes together in about 40 minutes, making it the perfect weeknight but fancy meal.

It’s indulgent yet made with protein-packed tofu, nutrient-dense cauliflower and spinach, and antioxidant-rich spices.

Thanks to a couple of tricks, the tofu has a remarkably chewy texture but is super quick to make. If you’ve got some extra time, you can try the buttermilk breaded pan-fried tofu, but whichever version you make, you’re guaranteed a delicious but nourishing restaurant-quality meal.

Table of Contents
1. Why this recipe works
2. Ingredient notes
3. Step-by-step instructions
4. Crispy tofu option
5. Tips for making this recipe
6. Frequently Asked Questions
7. Video: How to make this recipe
8. Recipe Card with Notes

vegan curry with tofu in a white plate with naan and cilantro on brown surface

Why this recipe works

Gourmet Indian flavors made easy

Indian cooking can be intimidating, and some dishes like Dal Makhani are a true labor of love. But it is possible to achieve gourmet Indian flavors with less effort and time, and that’s where this Vegan Curry with Tofu comes in.

It’s not an authentic dish (I made it up), but it does have authentic-tasting Indian flavors thanks to the combination of spices + cooking techniques used.

It fuses earthy and warm spices (cumin seeds and turmeric) with pungent spices (curry leaves and mustard seeds) as well as subtly sweet spices (cinnamon and nutmeg), all bloomed in oil to release maximal flavor from the spices.

A trio of ginger, garlic, and green chiles make up the classic aromatic base while keeping the prep and cook time minimal, while tomato sauce stands in the place of fresh tomatoes to add the requisite tang with zero prep time.

The result is a well-balanced, full-flavored curry in a hurry.

Tofu made exciting

This recipe uses two techniques for making tofu exciting without adding tons of additional prep or cook time.

First, I use previously frozen and defrosted tofu. Freezing changes tofu’s molecular structure, making it spongier, bouncier, and more porous. This, in turn, makes the tofu chewier when you cook it.

Second, the tofu is boiled in generously salted water for 2 minutes. This makes the tofu even chewier, while the salt seasons the tofu from within.

Indulgent but nutritious

This vegan curry is a complete meal, particularly when served with rice or flatbread. It’s protein-packed thanks to tofu and fiber-packed from cauliflower and spinach. And the fat from the coconut milk not only gives the curry the luxe creaminess any curry should have, but also helps you stay full.

Plus, it’s chockfull of nutrient-rich spices and aromatics, including curry leaves, turmeric, ginger, and garlic.

Ingredient notes

overhead view of all ingredients.

Extra-firm tofu. Tofu is a great source of protein, and here, it adds a chewy, spongy bite to each spoon of this curry.

Substitute: If you have a soy allergy, use 1 (15-ounce/425g) can of chickpeas. Add it when you add the cauliflower.

Indian aromatics. This recipe starts with the holy trinity of many Indian recipes: garlic, ginger, and green chile peppers.

Substitute: If you can’t find serrano peppers, use jalapeños (slightly less spicy).

Tip: If you have extra time, dice a small or medium yellow onion. Add that after the cumin and mustard seeds and cook until softened and starting to turn golden. Then add the garlic, ginger, and chiles. This will add even more flavor!

Whole and ground spices. Most of my favorite Indian recipes feature an artful layering of both whole and ground spices. Here, the curry starts off with earthy, warm cumin seeds and bouncy, pungent mustard seeds.

Then, a mixture of ground spices and curry leaves are added. This mixture adds so much fantastic flavor to this weeknight curry.

Tip: Check out the FAQ section on where to buy these whole spices.

Flavor boost tip: If you’re going to an Indian grocery store, look for fresh curry leaves, which are even more flavorful than the dried ones (use half the amount of fresh leaves).

Cauliflower & baby spinach. Veggies make this Indian-inspired vegan curry a complete meal! Feel free to sub cauliflower with carrots or leftover cabbage; or swap baby spinach with baby kale.

Tomato sauce. Fresh tomatoes are often added to Indian dishes for tang and acidity. To keep the prep and cook time quick without sacrificing too much flavor, I use tomato sauce instead.

Coconut milk. Full-fat canned coconut milk brings a rich mouthfeel and consistency to this curry.

Substitute: If allergic to coconut or you can’t have it, I recommend making a homemade cashew cream. This will make it taste even better(!) but does require extra work.

How to sub coconut milk with cashew cream: Soak 3/4 cup (105g) raw cashews overnight, or quick soak: cover with water and boil on the stove for 15 minutes. Drain.

Add cashews to a high-powered blender with 1 cup (240 mL) water, a pinch of salt, and a few squeezes of lemon juice. Blend on high until totally smooth and creamy.

vegan curry with tofu in a white plate with naan and cilantro on white tiled surface.

Step-by-step instructions

Make the curry

Heat the oil in a large sauté pan over medium-high heat. Add the cumin and black mustard seeds. Shake the pan or stir frequently, 45-60 seconds.

Add the garlic, ginger, and serrano peppers. Cook for 90 seconds, stirring frequently.

Add in the ground spices—turmeric, coriander, paprika, nutmeg, and cinnamon—and curry leaves. Cook for 30 seconds, stirring frequently.

Pour in the coconut milk, scraping up any browned bits. Add the tomato sauce and sugar.

Stir to combine and rapidly simmer for 3 minutes. Add the cauliflower florets, salt, and pepper, and spoon the curry over the florets. Simmer, covered, for 12-13 minutes, stirring occasionally, until cauliflower is fork-tender.

Cook the tofu

While the curry is simmering, boil the cubed tofu in a pot of generously salted water for 2 minutes. Drain well.

Note: if you want to make the crispy tofu option, the step-by-step instructions are in the next section.

chewy cubes of tofu that have been boiled sitting in a green bowl.
look how spongy the tofu gets after being defrosted and then boiled!

When the cauliflower is fork-tender, add in the chopped spinach and garam masala to the curry.

Once the spinach is wilted, nestle in the cooked tofu and add cilantro and lemon juice.

Stir to coat the tofu, then take off the heat.

Can I use crispy tofu in this recipe?

Yes! If you have a little extra time and want to take this curry to the next level, make the crispy pan-fried tofu instead of the boiled tofu.

Order of operations: Batter the tofu before starting on the curry. Once you’ve added the cauliflower to the curry, start cooking the tofu.

Stir together the lemon juice and plant milk. Combine the ingredients for the breading in a bowl. Chop your defrosted tofu into 3/4″ (2 cm) cubes.

bowl of tofu cubes, bowl of buttermilk, and bowl of spices and starch for breading.

Pour the buttermilk over the tofu and carefully toss to coat with a spatula.

Working in batches, use a slotted spoon to shake off excess milk from the tofu and transfer it to the breading and coat thoroughly. Set aside the breaded tofu on a large plate.

Repeat this process until all the tofu is coated.

breaded tofu cubes on white plate with some tofu cubes dredged in batter in a bowl.

Heat the oil in a large nonstick frying pan over medium-high heat. Add the tofu in a single layer and cook for 10-12 minutes, flipping the cubes occasionally, until deeply golden brown.

Add the fried tofu to the finished curry, along with the cilantro and lemon juice, and toss gently.

Tips for making this vegan curry

Use previously frozen and defrosted tofu.

In this recipe, freezing the tofu and then boiling it in salt water makes it almost reminiscent of chicken! Previously frozen tofu is also better able to absorb other flavors, so the tofu takes on more flavor from the curry.

Plus, freezing tofu is super easy. Check out the FAQ section below for instructions on how to freeze tofu.

That said, if the timing doesn’t work out or you forgot to freeze some tofu, it’s still tasty with regular tofu; the texture isn’t as chewy though.

Adjust the spice level to your tolerance.

The curry calls for 1 to 3 serrano peppers. For a mild heat, use just one pepper and remove the membranes. For a moderate heat, use one pepper but keep the seeds in. Want it spicy? Use 2 peppers (or for spicy!, use 3 peppers).

Cut the cauliflower florets small.

This ensures they get tender fairly quickly (12 minutes) and almost melt into the curry.

Multitask.

First, bring the water to a boil for your tofu and prep your curry ingredients. While the curry is simmering, do a couple things: (1) prep the tofu (remove some excess water + slice into cubes), (2) boil the tofu in the salted water, and (3) prep final ingredients (chop spinach and cilantro).

Remove excess buttermilk when breading the tofu.

If you’re making the crispy tofu option, use a slotted spoon to transfer the tofu from the buttermilk to the breading, getting rid of excess milk before adding it to the breading. If you skip this step, the breading can get too wet and crumbly, making it difficult to adhere to the tofu.

vegan curry with tofu in a white plate with naan and cilantro on a dark green surface.

Frequently Asked Questions

How do you freeze and defrost tofu?

To freeze tofu: Either (a) stick your block of tofu (still in the packaging) in the freezer for 8 hours, or longer (most convenient); OR (b) unpackage the tofu, and transfer the tofu + its water to a freezer-safe bag or container and freeze (best texture).

To defrost tofu, you have a few options:
1) Leave it in the fridge. It will take 1-2 days to defrost, depending on how long you froze the tofu.

2) Defrost on the countertop for up to 2 hours, then return to the fridge to continue thawing. When thawing on the countertop, you can also leave the tofu in a bowl or pan of warm water to speed things up.

3) Defrost in the microwave (if short on time). Run the tofu under water until you can slide it out of its packaging. Then place it in a shallow bowl and microwave on high in 1- or 2-minute intervals until thawed (might take 8-12 minutes).

Should I boil the tofu or make the crispy fried tofu?

Both versions are delicious, but the crispy-pan fried tofu makes this curry even better. It adds more textural dimension, as well as additional flavor from its spiced breading. But, it takes an extra 25ish minutes, so for most weeknight dinners, I’d make the boiled tofu version.

If it’s the weekend or you have some extra time, give the crispy pan-fried version a try (photo below). white bowl with vegan curry with tofu over white rice, with lemon wedges and cilantro on a brown backdrop

What should I serve this curry with?

Rice! Traditionally, Indian curries are served over white basmati rice, but it’s also great over brown rice. This would also go great with some vegan naan if you have extra time.

If the curry is spicy for you, serve with a dollop of vegan yogurt on top.

Can I add more vegetables to this curry?

Sure! You can increase the amount of baby spinach and/or sauté a couple carrots after toasting the cumin and mustard seeds.

Where can I find mustard seeds and curry leaves? Are they essential?

The mustard seeds and curry leaves really make this dish. They release an exquisite aroma and flavor when briefly toasted in oil.

You can find both at Indian grocery stores, spice shops, and online at Amazon or Kalyustan’s. Both will stay good in your pantry for quite awhile.

If you can’t get curry leaves, just omit them because there’s no flavor substitute. You could, however, add a teaspoon of Madras curry powder for extra flavor.

Is this vegan curry gluten-free?

Yes, as long as you make the boiled tofu option.

The crispy tofu option contains panko bread crumbs, though you can replace them with gluten-free panko. Or, you can use a crunchy cereal like crispy rice cereal or corn flakes and crush them in a food processor or by hand.

How do you store and reheat this vegan curry? Can you freeze it?

Once cooled, store leftovers in an airtight container in the fridge for up to 4 days.

This curry, like many curries, thickens after resting. I like to reheat it in a saucepan over medium heat, adding a few splashes of plant-based milk to thin it out a bit and stirring until warmed through. Any unsweetened plant-based milk is fine.

You can freeze this curry, though the texture will be a little different. When reheating, add a few splashes of plant-based milk to add more moisture and finish with some fresh lemon juice.

More Delicious Indian-Inspired Recipes

vegan curry with tofu in a white plate with naan and cilantro on a dark green surface.

Video: How to make tofu curry

Tofu Curry, my go-to weeknight dinner
Tofu Curry, my go-to weeknight dinner

If you love this Vegan Curry with Tofu, please give it a rating and review below! And of course, tag me with your remakes on Instagram!

Vegan Curry with Tofu

5 from 216 votes
This Vegan Curry with Tofu brings gourmet Indian flavors to your dinner table in under 45 minutes! A creamy plant-based curry with warming Indian spices, nutrient-dense cauliflower and spinach, and protein-packed tofu, it's the perfect harmony of indulgent and wholesome. 
Prep Time: 15 minutes
Cook Time: 25 minutes
Total Time: 40 minutes
Course: Dinner
Cuisine: Indian-Inspired
Diet Gluten Free, Vegan, Vegetarian
Serving size: 4

Ingredients

Curry

  • 2 tablespoons avocado oil or neutral-flavored oil of choice
  • 2 teaspoons cumin seeds
  • 2 teaspoons black mustard seeds (can sub brown mustard seeds)
  • 6 cloves garlic, minced
  • 2- inch piece fresh ginger, minced or grated
  • 1 to 3 serrano peppers, diced*
  • 1 1/2 teaspoons coriander
  • 1 teaspoon ground turmeric
  • 1 teaspoon sweet or hot paprika
  • 1/4 teaspoon ground cinnamon
  • 1/4 teaspoon freshly grated (or ground) nutmeg
  • 15 to 20 dried curry leaves**
  • 1 (13.5-ounce/400 mL) can full-fat coconut milk
  • 1 (8-ounce/227g) can tomato sauce
  • 1 tablespoon organic cane sugar or coconut sugar
  • 1 small cauliflower head, cut into small florets (450 to 500g florets)
  • 1 1/2 teaspoons kosher salt
  • Freshly cracked black pepper to taste
  • 1 (14-ounce/400g) block of extra-firm tofu, previously frozen and defrosted****
  • 2 teaspoons sea salt (or 4 tsp Diamond Crystal kosher salt)
  • 2 teaspoons garam masala
  • 3 cups (45g) baby spinach, chopped
  • ½ to 1 tablespoon freshly squeezed lemon juice
  • 1 cup (16g) cilantro leaves and tender stems, chopped

For Serving

  • Cooked white or brown rice, or flatbread of choice

Instructions

  • Make the curry. Heat the oil in a 12-inch sauté pan over medium-high heat. Once hot, add the cumin and mustard seeds and cook until popping and cumin seeds start to turn golden, 45 to 60 seconds. Add the garlic, ginger, and serrano peppers, and cook for 90 seconds, stirring frequently*. Add the turmeric, coriander, paprika, cinnamon, nutmeg and curry leaves and cook for 30 seconds.
    *Note: If using a stainless steel pan, this might stick, so arm power and stir almost constantly; add a splash or two of water as needed.
  • Deglaze the pan by pouring in the coconut milk, scraping up any browned bits with a spatula. Add the tomato sauce and sugar and bring to a rapid simmer. Stir occasionally and simmer for 3 minutes.
  • Add the cauliflower, salt, and pepper, and spoon the curry over the cauliflower. Cover the pan with a lid and adjust the heat to maintain a decent simmer. Cook for 12 to 13 minutes, opening the pan to stir occasionally, until thickened a bit and the cauliflower is fork-tender.
  • While the cauliflower is simmering, prep the tofu.
    Bring a large pot of water to a boil.
    Drain the defrosted tofu. Holding it over the sink, squeeze out as much excess water as you can without squishing or breaking it apart. You may want to wrap it in a dish towel, as it can get cold.
    Slice tofu vertically into 4 slabs. Take a few paper towels or clean dish towel and gently press down on the tofu slabs to remove more water.
    Slice each slab in half, lengthwise, so you have 8 vertical slabs. From there, chop the tofu into ¾-inch cubes (about 48 cubes for a 14-ounce block).
  • Boil the tofu. Once the water is boiling, add 2 teaspoons sea salt (or 4 tsp Diamond Crystal kosher salt).
    Use a slotted spoon or spider tool to lower the tofu into the boiling water. Once the water comes back to a boil, boil the tofu for 2 minutes. Scoop out the tofu using the slotted spoon and drain well.
  • Assemble. When the cauliflower is tender, add the garam masala and spinach to the curry. Stir and briefly cook until the spinach is wilted.
    Nestle the boiled tofu into the curry and toss to combine.
    Turn off the heat, stir in the lemon juice and cilantro, and season to taste with salt as needed. Serve over rice or with flatbread (but keep leftovers separate from rice, or the rice will eat up all the sauce).

Notes

* You can buy black mustard seeds at Indian grocery stores or online, like these: https://amzn.to/3TbGXSO. You can also sub with brown mustard seeds. 
**For mild heat, use 1 pepper and remove the membranes. For moderate heat, use 1 pepper with the membranes; for spicy, use 2 peppers with membranes. For spicy!, use 3 peppers. 
** If you have fresh curry leaves, use half the amount, as they have more flavor. For dried curry leaves, I use these: https://amzn.to/3T9p5In
****For the best texture, I strongly recommend using previously frozen and defrosted tofu: it makes it chewier, bouncier, spongier, and meatier. 
To freeze tofu, you can freeze the whole package for at least 8 hours. To defrost, you can: (1) Leave it in the fridge for a day or two; (2) Defrost on the counter for up to 2 hours (or in a bowl of warm water), then in the fridge to finish; (3) if short on time, defrost in the microwave: place tofu in a shallow bowl and microwave on high in 1- or 2-minute intervals (takes 8-12 minutes).

Calories: 393kcal | Carbohydrates: 22g | Protein: 17g | Fat: 28g | Saturated Fat: 15g | Polyunsaturated Fat: 3g | Monounsaturated Fat: 7g | Sodium: 1311mg | Potassium: 1194mg | Fiber: 7g | Sugar: 6g | Vitamin A: 7082IU | Vitamin C: 88mg | Calcium: 213mg | Iron: 5mg

Crispy Pan-Fried Tofu

5 from 132 votes
Tofu cubes are coated in plant-based buttermilk, then dredged in a crispy spiced breading, and pan-fried until golden brown and crunchy. When nestled in the curry, they take on an almost chicken-like texture!
Prep Time: 20 minutes
Cook Time: 10 minutes
Total Time: 30 minutes
Course: Side Dish
Diet Vegan
Serving size: 4

Ingredients

  • 1 (14-ounce/400g) block of extra-firm tofu, previously frozen and defrosted*
  • 1/2 cup (120 mL) plant-based milk of choice
  • 1 teaspoon lemon juice or apple cider vinegar
  • 1/4 cup (30g) arrowroot powder**
  • 1/4 cup (17g) panko bread crumbs***
  • 3 tablespoons nutritional yeast
  • 1 teaspoon onion powder
  • 1/4 teaspoon turmeric
  • teaspoon cayenne pepper
  • 1 teaspoon kosher salt
  • Freshly cracked black pepper
  • 2 tablespoons avocado oil or neutral-flavored oil of choice

Instructions

  • Drain the defrosted tofu and press it for 10-15 minutes. You can use a tofu press, or wrap the tofu in towels and weigh it down with something heavy (cast iron skillet, your heaviest cookbook with a few cans of beans on top, etc.). 
    Once pressed, slice tofu vertically into 4 slabs, then slice each slab in half, lengthwise, so you have 8 slabs. From there, chop the tofu into ¾-inch cubes (about 48 cubes for a 14-ounce block).
  • In a measuring cup or small bowl, whisk together the plant milk and lemon juice.
    In a shallow bowl, combine arrowroot, panko, nutritional yeast, onion powder, turmeric, cayenne, salt, and several cracks of black. Set an empty large plate next to these bowls.
  • Pour the milk over the tofu and carefully toss to coat with a spatula. Working in batches, use a slotted spoon to shake off excess milk from the tofu**** and transfer the tofu to the breading and coat thoroughly. Set aside the breaded tofu on the large plate.
  • Heat the oil in a 12-inch nonstick frying pan over medium-high heat. Wait a few minutes for the oil to get hot. Then arrange the tofu in a single layer as much as you can. Cook for 10 to 12 minutes, flipping every few minutes, or until deeply golden brown on both sides.
  • Follow Step 6 in the above recipe card "Crispy Pan-Fried Tofu", except use this crispy tofu instead of the boiled tofu.

Notes

*For the best texture, I recommend using previously frozen and defrosted tofu: it makes it chewier, spongier, and meatier; helps it crisp up more; and allows it to absorb more flavor in the buttermilk and breading. For instructions on how to do this, check out the FAQ section in the blog post. 
**I don’t recommend substituting arrowroot with cornstarch (it adds a chalky taste). 
***Panko is not gluten-free. If you are gluten-free, check out the FAQ section. Also check the ingredients, as some panko brands add egg or milk. 
****It’s important to get rid of excess milk before adding the tofu to the breading. If you skip this step, the breading can get too wet and crumbly, making it difficult to adhere to the tofu. 

Calories: 142kcal | Carbohydrates: 15g | Protein: 11g | Fat: 4g | Saturated Fat: 1g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 2g | Sodium: 431mg | Potassium: 284mg | Fiber: 2g | Sugar: 1g | Vitamin A: 26IU | Vitamin C: 1mg | Calcium: 81mg | Iron: 2mg

Did you make this recipe?

Tag @rainbowplantlife and hashtag it #rainbowplantlife

Leave a Comment & Rating

If you enjoyed this recipe, please consider giving it a star rating along with your comment! It helps others discover my blog and recipes, and your comments always make my day :) Thank you for your support!

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

Rate this recipe




297 comments on Vegan Curry with Tofu

  1. Wynter

    5 stars
    I have made this recipe multiple times now, and I LOVE IT. I can’t believe I made a such a flavorful curry, completely from scratch. It’s so freaking good. I make a big triple batch every time I make it, as I love eating it for days, often with 2/3 cauliflower and 1/3 potato for the veggies in it. Thank you so much for this amazing recipe! <3

    1. Kaitlin @ Rainbow Plant Life

      It’s so lovely to hear you’re such a fan of the curry, Wynter! Thanks for sharing :)

  2. Michelle

    5 stars
    This is my favourite Rainbow Plant Life recipe…and as a bonus, it was the first time by bf actually liked tofu! I have made this recipe twice and both times boiled a frozen/thawed tofu block. Now whenever I buy tofu, I get two and freeze one for future use in this recipe.
    Unfortunately I haven’t made this recipe with curry leaves. The only curry leaves I’ve been able to find at my local Indian stores are all crushed up into little curry leaf bits. Is that ok or should I try to find whole leaves? Do you eat the leaves or fish them out of the curry like you would with lime or bay leaves?

    1. Kaitlin @ Rainbow Plant Life

      Hi Michelle, we’re so happy you love the recipe :) And as for the curry leaves, you can remove them but you can also eat them too. They’re edible, nutritious & delicious, enjoy!

      1. Sheri Huff

        I so want to make this recipe. I too can only find crushed dried curry leaves bits. There is no indication about how much equals 15-20 dried leaves. Suggestion for the amount of crushed curry leaves would I use for this recipe?

  3. Cindy

    5 stars
    Amazing!

    1. Kaitlin @ Rainbow Plant Life

      Hi Cindy, thank you so much for your kind review!

  4. Cindy Kautzmann

    5 stars
    I have to be honest – I didn’t expect to love this. I was skeptical of the boiled tofu. But I’ve never found a bad recipe here so I had to try – and was SHOCKED at how well it worked. Soooo good! That won’t keep me from trying it with the crispy tofu though :)

    Now I just need more recipes to use up these wonderful curry leaves….

    1. Kaitlin @ Rainbow Plant Life

      Hi Cindy, it’s so lovely to hear you loved the recipe despite your original reservations! :)

      And as for the extra curry leaves, try this chickpea curry, dal tadka, and jackfruit curry!

  5. Barbara

    5 stars
    I’ve not been disappointed with any of the recipes I have tried of yours and this was an amazing curry, I didn’t have any garam masala to add at the end but it was delicious without so probable even more amazing with it added. Thank you!

    1. Kaitlin @ Rainbow Plant Life

      We’re so happy that all the recipes have turned out well for you, Barbara. Thank you for taking the time to leave a comment and for trying out this recipe!

Development Alchemy + Aim
braised chickpea stew in dutch oven

5 Secrets for Amazing Vegan Cooking

free email series

Learn the pro-tips that will take your plant-based cooking to the next level!