Meet the newest addition to the rapidly growing recipe file I’m calling, “Indian food, Nisha-fied.”

You can think of this luxurious Indian Tofu Curry as a lower-lift, streamlined cousin of my tofu tikka masala. It draws inspiration from North Indian dishes featuring chicken marinated in spiced yogurt marinades but of course it’s 100% plant-based! 

Here, torn tofu chunks soak up a divine marinade (toasted whole spices and sautéed aromatics blitzed with yogurt and creamy cashews ), then get a quick pan-fry to take on a gorgeously golden-brown crust.

The result? Creamy, melt-in-your-mouth tofu chunks in a luscious, warmly-spiced curry sauce. It’s an indulgent restaurant-quality meal that packs in 25g of protein per serving and lots of anti-inflammatory goodness. 

Looking for more recipes in the “Nisha-fied Indian Dishes” file? Check out my Chickpea Curry, Creamy Cabbage Curry, Braised Indian Chickpea Stew, or one of my dals (Dal Palak, Dal Makhani, or Dal Tadka)!

overhead view of tofu curry with rice in a bowl.

Ingredient notes

  • Extra firm tofu: AKA the Goldilocks of tofu—firm enough to be pan-fried without falling apart, but still tender and creamy. 
  • Spices: For the best flavor, I recommend using whole spices, which offer a more complex result than pre-ground spices. The tofu marinade uses a blend of bay leaves, cinnamon sticks, cardamom seeds, cloves, coriander, and cumin that are toasted to further amplify their flavor. The result is a chorus of sweet, citrusy, floral, earthy notes that make the marinade unforgettable. 
  • Aromatics: It’s hard to go wrong with onions + garlic + ginger! Importantly, the onions aren’t just “sweated” for a few minutes—they spend 12 to 15 minutes in the pan to get properly browned. The extra time adds a major sweet-savory dimension to the final dish, so it’s worth it IMO. 
  • Raw cashews & yogurt: Marinating protein in a spiced yogurt is a hallmark technique of North Indian cooking (think: tandoori chicken, as well as plant-based alternatives like tofu tikka masala). Here, a combo of yogurt blitzed with soaked raw cashews creates a thick, creamy marinade that clings well to the tofu (the cornstarch in the marinade also helps with this!).
  • Soy milk: The final step of this recipe leans on soy milk to transform the pan of golden-crusted marinated tofu into a thick, saucy curry. It’s magical—a quick simmer, and the dish essentially creates its own flavor-rich sauce.

Subs, Swaps, and Buying Tips

Want even more protein? Use super firm tofu instead of extra firm tofu, which would bump this dish up to 35g protein/serving. In full disclosure, the dish will be less creamy/melt-in-your-mouth.

Don’t have whole spices? I’ve included ground spice equivalents in the recipe card (and instructions for when to add them in the FAQs)!

Opt for a creamy plant milk. In our testing, a plain unsweetened soy milk works best. This is our go-to brand (9g protein/serving!). Feel free to use a different plant-based milk, but be sure it’s relatively creamy.

digital drawing of a journal and pencil.
tofu curry in a saucepan.

Step-by-step instructions

person breaking tofu into chunks in a glass bowl.
  1. Soak the tofu and cashews: Tear the tofu into ~1 ½” (3.5 to 4 cm) chunks.
person pouring boiling water over tofu in the bowl.
  1. Dissolve 2 tablespoons of kosher salt into 4 cups (960 mL) boiling water, then pour over the tofu. Cover and soak for 10 minutes.
person patting off tofu with a dish towel.
  1. Drain, then spread the tofu chunks on a large dish towel to dry.
person pouring boiling water over cashews in a bowl.
  1. Cover the cashews in boiling water and soak as you prep everything else (at least 15 minutes).
  1. Toast the whole spices: To a large frying pan heated over medium heat, add the cinnamon stick, bay leaves, cloves, cardamom seeds, and coriander seeds. Stir frequently for 2 minutes.
cumin seeds added to pan to toast.
  1. Add the cumin seeds and toast for 60 to 90 seconds until very fragrant. Transfer all spices to a bowl to cool.
onions and oil before being sauteed in the pan.
  1. Sauté the aromatics: Heat 3 tablespoons of oil over medium heat, then add the onions and a pinch of salt. Sauté for 12 to 15 minutes, stirring occasionally, till deeply browned.
garlic and ginger added to sauteed the onions in the pan.
  1. Add the garlic and ginger, stirring frequently for 2 minutes. (If using ground spices, add them now, with a splash of water. Stir constantly for 20 to 30 seconds.) Remove from heat.
marinade ingredients in blender before being blended.
  1. Make the marinade: In a high-powered blender, combine ½ cup (120 mL) water, sautéed onion mixture, drained cashews, yogurt, cornstarch, turmeric, chili powder, salt and pepper, and the toasted spices (tear the bay leaves and break the cinnamon sticks into small pieces first).
marinade ingredients in blender after being blended.
  1. Blend until the mixture is smooth and thick, using a tamper blender and scraping down the sides as you go. Add a splash of water if needed to blend. 
tofu chunks on top of marinade in bowl.
  1. Pour the blended marinade into a large bowl and add the tofu, tossing gently to coat well.
  1. Cover and refrigerate for at least 1 hour (or up to 24 hours).
marinated tofu cooking in the saucepan.
  1. Cook the tofu: Heat a large nonstick frying pan over medium heat with 2 teaspoons of oil (spread out with a towel in a thin layer) for 2 minutes. Add half of the marinated tofu.
flipped golden tofu in a pan.
  1. Cook undisturbed for 5 minutes—do NOT flip early, as the tofu will stick! After the bottom of the tofu has developed a golden-brown crust, flip and cook for 4 more minutes.
final tofu cooking in the pan.
  1. Transfer the cooked tofu to a plate, wipe out the pan, and repeat the process with a bit more teaspoons of oil and the remaining tofu. Keep an eye, as this batch may cook faster. 
person pouring soy milk into pan with cooked tofu.
  1. Return the first batch of tofu to the frying pan. Add soy milk, dried fenugreek leaves, salt, and pepper.
soy milk, fenugreek leaves, salt and pepper in the saucepan before being simmered together.
  1. Simmer for 3 to 4 minutes, until thick and saucy.
finished tofu curry in saucepan.
  1. Remove from the heat, garnish with cilantro, and serve with flatbread or rice!
Want to save this recipe?
Enter your email address and we’ll send it straight to your inbox. Plus, we’ll send you new posts and recipes!

Tips for making this recipe

A high-powered blender makes this recipe a breeze

A high-powered blender is something of a cheat code in this recipe, as it effortlessly obliterates raw cashews and whole spices like nobody’s business.

The spices will crunch quite a bit as they blend, so if you want a smoother blending experience, grind the whole spices into a powder first using a spice grinder (or mortar and pestle).

How to make this without a high-powered blender

Spices: If using whole spices, you’ll need to grind them first using an electric spice grinder, as your blender will not be able to blend them. If you don’t have a spice grinding tool, skip the whole spices and use the ground spices listed in the recipe card notes.

Cashews: Let them soak overnight (or for as long as you can the day you’re cooking) to give them ample time to soften!

Blend technique: Start by blending the water and soaked cashews together before adding any of the other marinade ingredients. Blend until as smooth as possible, then strain over a fine-mesh sieve to get rid of any unblended cashew bits. Then add the remaining marinade ingredients and blend.

digital drawing of a blender.

Embrace a long marinade

The “one hour” listed in the recipe card is the minimum, but as with many recipes, a longer marinating time = more flavorful results. 

I typically marinate my tofu overnight, as it works nicely with my schedule (…and I love falling asleep knowing my dinner for the next night is getting more flavorful by the hour), and you can marinate it for up to 24 hours. 

Looking for a quicker option? 

Skip toasting the whole spices and use the ground spices listed in the recipe card notes. Or, try this Vegan Curry with Tofu, which is designed to be a weeknight-friendly dinner (ready in 40 minutes). 

Cook the tofu in a nonstick pan

Trust me—I’ve tested this recipe with stainless steel pans and cast iron pans, and the verdict is in: the tofu will stick unless you use a nonstick pan.

Tips for pan-frying the marinated tofu

• Preheat your nonstick pan properly! Add just a small amount of oil (2 teaspoons per batch) and spread it out with a towel. Let it heat up for 2 minutes over medium heat—the tofu should sizzle when it hits the pan.

• Resist the urge to flip the tofu early on in the cooking process, as it will stick to the pan. Once the bottom is golden brown, the tofu should lift away well enough for you to flip it without too much sticking.

• After cooking both sides, if you want more browning on all sides, flip the tofu again and cook for 2 to 3 more minutes. 

• While you can cook the entire batch of tofu all at once, the pan will be very crowded and it won’t develop the gorgeous golden crust you see in the photos! Plus, you’ll only save ~8 minutes of cook time, so you’re not saving much time.

digital drawing of a pan with food in it.
pan fried tofu in a saucepan.

Frequently Asked Questions

I don’t have the whole spices listed for this recipe. Can I still make this?

Yes! We tested this recipe with just ground spices, and it’s still tasty!

Skip step 4 in the recipe card (toasting the spices). Check out note 2 in the recipe card for the ground spice equivalents, and add them after you sauté the garlic and ginger along with a splash of water. Stir constantly for 20 to 30 seconds, then remove the pan from the heat.

Where can I buy the whole spices listed for this recipe?

You can find a lot of the whole spices in well-stocked grocery stores, but some (like the Kashmiri chili powder, Indian bay leaves, and dried fenugreek leaves) you’ll want to seek out at your local South Asian grocery store, if you’ve got one! 

If not, it’s a great excuse to check out my favorite online spice purveyor, Burlap & Barrel!

I’m allergic to cashews. What can I use instead?

Unfortunately, we haven’t tested a substitute that works as well. I recommend trying my nut-free tofu tikka masala recipe instead!

What should I serve with this?

Quick & delish → Scoop it up with warmed store-bought pita or Indian flatbread, or serve with rice.

For a veggie boost → Try serving with a shaved carrot salad seasoned with lime juice, a drizzle of agave, pinch of salt, and drizzle of oil. Or serve with any green salad or steamed veggie of choice, such as broccoli or green beans (or, honestly, any leftover cooked veggies you’ve got in the fridge).

Legendary → Make a batch of my vegan naan. 😍

How do I store leftovers?

Once cooled, store leftovers in an airtight container in the fridge for up to five days. When reheating, soften the consistency by adding a splash of soy milk (or other plant-based milk).

We haven’t tried freezing this dish—freezing changes the texture of tofu, so if you’re going to freeze this, expect the tofu to be spongier/chewier post-freeze.

Indian tofu curry and rice in a bowl.

If you fell hard for this creamy Indian Tofu Curry, please leave a rating and review below—it makes my day to hear from you!

Introducing

Big Vegan Flavor

Techniques and 150 recipes to master vegan cooking.

Indian Tofu Curry

Prep: 50 minutes
Cook: 25 minutes
Total: 1 hour 15 minutes
Servings: 4
No ratings yet

Made it? Click the stars to leave a review!

This Indian tofu curry is the best of both worlds: luxe and indulgent yet nourishing and protein-rich—25g protein per serving! Tofu soaks up a chorus of flavor from a divine spiced-yogurt marinade, then hits the pan for a quick pan-fry to golden-crusted goodness. Creamy, melt-in-your-mouth tofu, and good-for-you!
Save this recipe!
Get this sent to your inbox, plus get new recipes from us every week!

Ingredients

  • 2 (12 to 14 oz / 340 to 400g) blocks extra firm tofu, drained
  • Diamond Crystal kosher salt (see Note 1)

Marinade

  • ½ cup (70g) raw cashews
  • 3 tablespoons (42g) neutral-flavored oil, plus more for cooking tofu
  • 1 large yellow onion, diced (~ 2 cups / 300g diced onion)
  • 5 cloves garlic, chopped
  • 1 ½" piece (~ 15g) fresh ginger, peeled and finely chopped
  • ¼ cup (60g) creamy, thick coconut yogurt (see Note 2)
  • Freshly cracked black pepper
  • 2 tablespoons (16g) cornstarch
  • 1 teaspoon ground turmeric
  • 2 to 3 teaspoons Kashmiri chili powder (mild Indian red chili powder, see Note 3)

Whole Spices (see Note 4 for ground spice substitutes)

  • 1 cinnamon stick
  • 2 Indian bay leaves (AKA tej patta) or regular bay leaves
  • 3 whole cloves
  • 6 green cardamom pods, seeds only (¼ to ½ tsp of seeds)
  • 1 tablespoon coriander seeds
  • 1 teaspoon cumin seeds

For Finishing

  • 1 cup (240 mL) soy milk (or creamy plant milk of choice)
  • 1 tablespoon dried fenugreek leaves AKA kasoori methi (see Note 5)
  • 1 big handful cilantro leaves and tender stems
  • Flatbread / pita or white rice to serve

Instructions 

  • Bring ~5 cups (1.2 L) of water to a boil.
  • Soak the tofu: Use your hands to tear the tofu into chunks, roughly 1 ½” (3.5 to 4 cm) pieces, then add to a large bowl.
    In a large measuring cup or bowl, combine 4 cups (960 mL) boiling water and 2 tablespoons (19g) kosher salt (for sea salt or table salt, use 1 TBSP / 18g). Stir to dissolve, then pour the hot saltwater over the tofu.
    Cover and soak for 10 minutes, then gently drain. Spread the tofu out across a large dish towel and dry off while you continue prepping (save large bowl for step 7).
  • Add the cashews to a small bowl and pour on boiling water to cover. Soak while you prep everything else (at least 15 min), then tip out the soaking water.
  • Toast the whole spices (skip if using ground spices): Heat a large (12-inch) frying pan over medium heat until hot.
    Add the cinnamon stick, bay leaves, cloves, cardamom seeds, and coriander seeds. Stir frequently for 2 minutes, then add the cumin seeds. Toast for 60 to 90 seconds, or until very fragrant and the coriander & cumin have darkened by a few shades. Transfer to a bowl to cool.
    NOTE: If you don't have a very powerful blender (or just want a smoother blending process), you’ll need to grind the spices in an electric spice grinder (or mortar and pestle). Otherwise, they will be very hard to blend in the marinade.
  • Cook the aromatics: Return the frying pan to medium heat and add 3 tablespoons (42g) of oil. Once shimmering, add the onions with a pinch of salt. Stir occasionally until deeply browned, 12 to 15 minutes (once they brown a bit, stir more frequently and a splash of water from time to time for even browning).
    Add in the garlic and ginger. Stir frequently for 90 seconds to 2 minutes, adding a splash of water if it sticks. Remove from the heat.
    NOTE: If using ground spices, add them to the pan now with a splash or two of water. Stir constantly for 20 to 30 seconds, then remove from the heat.
  • Blend the marinade: Pour ½ cup (120 mL) water into a high-powered blender. Then add in the sautéed onion mixture, drained cashews, yogurt, 1 ½ teaspoons kosher salt (half for sea salt/table salt), 10 to 15 twists of black pepper, cornstarch, turmeric, and chili powder.
    Tear the bay leaves and cinnamon sticks into small pieces and add to the blender along with the other toasted whole spices.
    Start blending on low, then increase to high and blend until as smooth as possible. The whole spices will crunch, so use a blender tamper and scrape down the sides periodically. If there isn't enough water to blend, add a splash. The texture should be like a very thick smoothie. See Note 6 for blender stains.
  • Gently pat dry the tofu with a clean towel so that it no longer feels wet. Pour the marinade into the large bowl, then add the tofu and use a silicone spatula to gently toss until tofu is well coated. Cover and refrigerate for at least 1 hour, or up to 24 hours for best flavor.
  • Cook the tofu: Heat a large nonstick frying pan over medium heat with 2 teaspoons of oil, spreading out with a towel to a light layer. After 2 minutes, add HALF of the marinated tofu—it’s okay if some pieces stick together (see Note 7).
    Cook undisturbed for 5 minutes or until the bottom starts to develop a golden brown crust (resist the urge to toss early, as it will stick). Flip and cook for 4 minutes, or until most sides of the tofu are golden brown.
    Transfer tofu to a plate and wipe out the pan. Repeat with 2 teaspoons of oil and the remaining tofu (it may cook faster, 3 to 4 minutes on the first side and 2 to 3 minutes on the second side).
  • Return the first batch of tofu to the frying pan. Pour in the soy milk, a pinch or two of salt, and a few twists of pepper. Crush the dried fenugreek leaves with your hands and add to the pan. Simmer for 3 to 4 minutes, or until saucy and thick. If you prefer a saucier consistency, add a bit more milk.
  • Remove from the heat and garnish with cilantro. Season with salt to taste. Allow to cool for a few minutes, then serve with flatbread or rice.

Notes

  1. If using table salt or sea salt, use half the amount listed in this recipe.
  2. A creamy yogurt helps the marinade stay thick and stick to the tofu. We love Culina, Cocojune, Coconut Cult, and GT’s Cocoyo.
  3. If you only have spicy Indian chili powder or cayenne pepper, use ½ to 1 teaspoon (and add 2 teaspoons paprika for color, if desired). 
  4. If you don’t have whole spices, combine the following ground spices in a small bowl: 2 tsp coriander, ¾ tsp cumin, ½ tsp cinnamon, ¼ tsp cardamom, and ⅛ tsp cloves. You’ll add these to the frying pan in step 5 after the garlic/ginger. The flavor won’t be as complex as it is with whole spices, but it’s still tasty!
  5. Kasoori methi brings a really unique, bold/savory flavor to North Indian-style dishes. You can find it at South Asian grocery stores or online.
  6. If your blender gets stained with the color of the spices (turmeric), wash it as soon as possible with grease-cutting soap—this should clear the stains. If they persist, leave your blender out in the sun for a few hours, and it will remove the stains.
  7. While you can use any large frying pan for toasting the spices and cooking the aromatics, you will need a nonstick pan for cooking the tofu. I’ve tried this with stainless steel, and unfortunately the tofu sticks a lot! If you’re in a rush, you can cook the tofu all at once, but it won’t develop the same type of golden brown crust.

Nutrition

Calories: 495.5kcal | Carbohydrates: 22.1g | Protein: 24.9g | Fat: 34.6g | Saturated Fat: 7.4g | Polyunsaturated Fat: 1.92g | Monounsaturated Fat: 4.21g | Sodium: 748.7mg | Potassium: 655.1mg | Fiber: 5.9g | Sugar: 3.3g | Vitamin A: 417IU | Vitamin C: 5.98mg | Calcium: 269.8mg | Iron: 7.1mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Love this? Leave a rating below!

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