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. Boiling previously frozen tofu makes it remarkably chewy and almost meaty!
Prep 15 mins
Cook 25 mins
Total 40 mins
5 from 46 votes

This Vegan Curry with Tofu is the perfect cozy but wholesome Indian-inspired meal to make on a weeknight.

It’s always great to have a vegan curry recipe in your back pocket, and this one features gourmet Indian flavors but comes together in about 40 minutes. It’s creamy and indulgent, yet made with protein-packed tofu and nutrient-dense cauliflower and spinach, and loaded with antioxidant-rich spices, like curry leaves, turmeric, and cumin.

Thanks to a couple of tricks, the tofu has a remarkable chewy and almost meaty texture but takes just a few minutes to prepare. If you’ve got some extra time, you can try the crispy tofu option, which features buttermilk tofu battered in a mixture of bread crumbs and spices, then pan-fried until golden and crispy (so good!).

Whichever version you make, you’re guaranteed to a delicious but nourishing restaurant-quality meal that’ll please the whole family.

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

How to make this Vegan Curry (step-by-step photos)

This vegan curry with tofu fuses earthy and warm spices (cumin seeds and turmeric) with pungent spices (curry leaves and mustard seeds) with subtly sweet warming spices (cinnamon and nutmeg). The result is a well-balanced, full-flavored curry. It can be made spicy or mild (go easy on the serrano peppers), and it gets its a luxurious creaminess from full-fat coconut milk.

Make the curry

Gather your ingredients!

overhead view of all ingredients.

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.

Cook the tofu

While the cauliflower curry is simmering, boil the cubed tofu in a pot of well-salted water for 2 minutes. Drain well. Simmer, covered, for 12-13 minutes, stirring occasionally, until cauliflower is fork-tender.

Note: if you want to make the crispy tofu option, the step-by-step instructions are at the end of this section.

defrosted and boiled tofu cubes 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.

Stir until spinach is wilted. Nestle in the cooked tofu and add the cilantro and lemon juice.

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

Indian spiced vegan curry with tofu and cauliflower in a frying pan.

Can I use crispy tofu in this curry?

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.

If you choose this method, batter the tofu before starting on the curry. Once you’ve added the cauliflower to the curry, you can start cooking the tofu.

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

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.

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. Toss to coat.

Tips for making this Vegan Curry with Tofu

Use previously frozen and defrosted tofu, if you can

Cooking Tip: When you freeze tofu, it changes its molecular structure. A lot of its water is removed, making it spongier, bouncier, and more porous. This, in turn, makes the tofu chewier and meatier when you cook it.

In this particular recipe, freezing the tofu makes reminiscent of chicken(!) and absorbs the flavors of the curry really well.

Plus, freezing tofu is super easy. I always freeze at least one block of tofu when I come home from the grocery store. That way I can always use defrosted tofu when I need to.

To freeze tofu: Stick your block of tofu (still in the packaging) in the freezer for 8 hours, or longer.

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. 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).

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 2 serrano peppers, which produces a medium-to-spicy curry, depending on the size and freshness of the 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.

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 white tiled surface.

Frequently Asked Questions

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

Is there a substitute for coconut milk?

Other plant-based milks aren’t creamy or rich enough to really work well in a curry, so only substitute I’d recommend is a homemade nut cream. You can check out my comprehensive post on cashew cream here.

I’d recommend using 3/4 cup raw cashews to 1 cup water, with a pinch of salt and a squeeze or two of lemon juice. Be sure to soak the cashews beforehand (overnight; or do a quick soak by covering with boiling water and boiling for 15 minutes).

If you can’t have cashews or coconut, then I’d suggest a full-fat unsweetened oat milk, but it will have a less creamy consistency.

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 5 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.

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.

Can I add more vegetables to this curry?

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

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. If you are strictly vegan, be sure to use certified vegan cereals, as the name brand varieties are usually fortified with animal-based Vitamin D3.

Where can I find curry leaves? Are they essential?

You can find curry leaves at Indian grocery stores, spice shops, and online at Amazon or Kalyustan’s. I use dried curry leaves for convenience, but if you have fresh leaves, use half the amount.

I LOVE the flavor of curry leaves and highly recommend keeping them in your spice cabinet. They release an exquisite aroma when briefly toasted in oil. They add extra flavor to the curry, so keep the leaves in (they’re edible).

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

More Delicious Indian-Inspired Recipes

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

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 46 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. Boiling previously frozen tofu makes it remarkably chewy and almost meaty!
Prep Time: 15 mins
Cook Time: 25 mins
Total Time: 40 mins
Course: Dinner
Cuisine: Indian-Inspired
Diet Vegan
Serving size: 4

Ingredients

Curry

  • 2 tablespoons avocado oil or neutral-flavored oil of choice
  • 1 teaspoon cumin seeds
  • 1 teaspoons black mustard seeds (can sub brown mustard seeds)
  • 6 cloves garlic, minced
  • 2- inch piece fresh ginger, minced or grated
  • 1 to 2 serrano peppers, diced*
  • 1 teaspoon ground turmeric
  • 1 teaspoon coriander
  • 1 teaspoon sweet or hot paprika
  • 1/4 teaspoon ground cinnamon
  • 1/8 teaspoon nutmeg
  • 10 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 teaspoon 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)
  • 1 1/2 teaspoons garam masala
  • 3 to 4 cups (45-60g) baby spinach, chopped
  • ½ 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.
  • 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 to combine 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.

Notes

*2 serrano peppers with the membranes is quite spicy. For mild heat, use 1 and remove the membranes; for moderate heat, use 1 pepper with the membranes; for spicy, use 2 peppers with membranes. 
**For the best texture, I recommend using previously frozen and defrosted tofu: it makes it chewier, bouncier, spongier, and meatier. For instructions on how to do this, check out the “Tips” section in the blog post. 

Calories: 380kcal | Carbohydrates: 27g | Protein: 21g | Fat: 26g | Saturated Fat: 19g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 3g | Sodium: 1197mg | Potassium: 2156mg | Fiber: 10g | Sugar: 8g | Vitamin A: 20901IU | Vitamin C: 139mg | Calcium: 314mg | Iron: 12mg

Crispy Pan-Fried Tofu

5 from 30 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 (thanks to using previously frozen tofu!).
Prep Time: 20 mins
Cook Time: 10 mins
Total Time: 30 mins
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 “Tips” 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




65 comments on Vegan Curry with Tofu

  1. Randy

    5 stars
    I just made this recipe for the second time. It is a real winner. The first go ’round I did not have curry leaves or black mustard seeds. I also didn’t have enough cauliflower so I made up the difference with broccoli and that turned out well.
    This time I followed the recipe more precisely, including the black mustard seed and curry leaves, and the flavor was even better than the first time.
    The second time the dish was not as hot, I suppose that is the difference from one serrano to the next.
    I generally stay away from coconut milk/cream because it elevates my cholesterol levels. Instead I make my own cashew cream which has plenty of fat.
    All in all, this is a delicious and flexible recipe that will go on my heavy rotation list.
    Thank you again for your recipes.

    1. Support @ Rainbow Plant Life

      Thanks for sharing, Randy! You’re welcome for the recipes :)

  2. KaiyaPapaya

    5 stars
    This dish was amazing! I couldn’t wait to be hungry again and eat it for leftovers. Thank you for sharing with us another very delicious dish!

    1. Support @ Rainbow Plant Life

      So glad to hear you loved this recipe! :)

  3. Sharon

    5 stars
    Yum! this is so delicious!! Thank you for creating such wonderful recipes.

    1. Support @ Rainbow Plant Life

      We are thrilled you love the curry! You are very welcome, Sharon! :)

  4. Kelsey

    5 stars
    Another hit Nisha! I made it with the crispy tofu, and it took me a while but was really delicious. I look forward to trying the frozen tofu method for a regular weeknight dish :)

    1. Support @ Rainbow Plant Life

      Kelsey, So glad to hear you loved this recipe! We hope you enjoy the frozen tofu method :)

  5. Raisa

    5 stars
    Hi Nisha! Love your recipes from one gujju to another!
    (I’m sure you said you’re gujarati, sorry if I’m wrong)

    just wondering if I can switch the tofu out for another protein option like cannellini beans? Tofu is quite expensive in the U.K

    Thank you!

    1. Support @ Rainbow Plant Life

      Hi Raisa, yes beans could work as a rather untraditional substitution. Or tempeh if that’s available to you!

  6. Stephany

    I get a delicious red curry tofu at my favorite Thai restaurant. I’m looking to recreate it. They put broccoli, bamboo shoots, slices of onion, zucchini and bell peppers in it. I think I’m going to use this recipe as a base for the sauce and tofu and then add these veggies to it ☺️. Can’t wait to try it!

    1. Support @ Rainbow Plant Life

      Sounds wonderful, Stephany! We hope you enjoy the curry!

  7. Wendy

    5 stars
    This is such a perfect weeknight dinner! The flavors are terrific and my hubby and I had a load of extra curry leftover for today’s lunch. Highly recommend!

    1. Support @ Rainbow Plant Life

      Awesome, Wendy. Thanks for your comment and for taking the time to review!

  8. s

    5 stars
    Really easy and nice. The contrasting textures make for an interesting bite.

    1. Support @ Rainbow Plant Life

      Thanks for the lovely feedback, S!

  9. Ritika Shukla

    5 stars
    Highly recommend making this! My partner and I loved it and it’s a great way to eat cauliflower in a yummy way. Will be adding this to my recipe list!

    1. Support @ Rainbow Plant Life

      Ritika, So glad to hear you loved this recipe!

  10. Kaira Shah

    5 stars
    Hi Nisha
    My name is Karia Shah and I’m vegetarian. All of your recipes are so simple and good. I never thought that vegan recipes can be flavorful like regular recipes but you make it. Now, I am thinking to be a vegan and I can do it and because of you! I admire your dedication toward your work and passion…Thanks and enjoy your vacation, you deserved it!❤️

    1. Support @ Rainbow Plant Life

      Aw, thank you for the lovely comment Kaira! We’re honored the Rainbow Plant Life recipes make you believe you can go vegan and enjoy it! We’ve passed this message along to Nisha :)

  11. Jane

    5 stars
    This recipe is one of my new favorites. It was so easy to cook and came together so quickly. I’m trying to use less animal products and with this recipe I didn’t even miss them.

    1. Support @ Rainbow Plant Life

      Jane, So glad to hear you loved this recipe!

  12. Joan B

    5 stars
    Delicious and authentic! I followed the directions to the letter, which is unusual for me, as my husband will confirm. We ate it over farro, which gave it fantastic texture. Freezing the tofu ahead of time really does make a difference in the texture. I learned to do that when making mock tuna or egg salad. Thanks for this keeper recipe!
    Could I replace the lemon juice with tamarind paste?

    1. Support @ Rainbow Plant Life

      Sorry for the late response, Joan! We are thrilled to hear you’re a fan of the recipe. We think tamarind paste would be a fun swap! If you are familiar with tamarind paste, then sure. It is quite strong/pungent, so we suggest start slowly and adjusting to taste.

Development Alchemy + Aim