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)!
🎥 Watch the video
With over 150K views on Youtube, this tofu curry recipe is a huge hit with my community. I hope you love it just as much!
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.


Step-by-step instructions

- Soak the tofu and cashews: Tear the tofu into ~1 ½” (3.5 to 4 cm) chunks.

- Dissolve 2 tablespoons of kosher salt into 4 cups (960 mL) boiling water, then pour over the tofu. Cover and soak for 10 minutes.

- Drain, then spread the tofu chunks on a large dish towel to dry.

- Cover the cashews in boiling water and soak as you prep everything else (at least 15 minutes).

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

- Add the cumin seeds and toast for 60 to 90 seconds until very fragrant. Transfer all spices to a bowl to cool.

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

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

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

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

- Pour the blended marinade into a large bowl and add the tofu, tossing gently to coat well.

- Cover and refrigerate for at least 1 hour (or up to 24 hours).

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

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

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

- Return the first batch of tofu to the frying pan. Add soy milk, dried fenugreek leaves, salt, and pepper.

- Simmer for 3 to 4 minutes, until thick and saucy.

- Remove from the heat, garnish with cilantro, and serve with flatbread or rice!
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.

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.


Frequently Asked Questions
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.
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!
After a little trial and error, I figured out you can cook this in a 12″ stainless steel skillet! You just need to be mindful and follow these instructions.
1. Adequately preheat the pan, otherwise it will stick. Preheat the pan over medium-high heat until a single bead of water (or just a few beads of water) glides across the pan—this will make your pan close to nonstick.
I refer to this as the “water bead test” but it’s technically called the “Leidenfrost effect.” Watch this video for visuals on how to do this properly.
It will take several minutes. For me, it takes 3 to 3 1/2 minutes.
2. After completing the water bath test, reduce the heat to medium.
3. Add 1 1/2 tablespoons (21g) of oil and spread it across the pan.
4. Add the half batch of marinated tofu but don’t fuss with the tofu, as you want to let it start searing. If you try moving it around early on, it will stick.
5. Once you see a golden brown crust on the bottom, it’s time to flip, 4 to 5 minutes.
6. Continue the recipe as written.
You can also bake the tofu, but it comes out a bit drier in texture. Here’s what we did:
1. Preheat the oven to 425ºF/220°C. Arrange a rack in the top third of the oven and in the bottom third.
2. Line two sheet pans with parchment paper.
3. Spread out the tofu out on the lined pans with little to no touching.
4. Bake for 15 minutes, then switch the location of the pans and continue baking for 10 to 15 minutes or until the tofu is golden brown and even a little charred in spots.
Unfortunately, we haven’t tested a substitute that works as well. I recommend trying my nut-free tofu tikka masala recipe instead!
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. 😍
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.

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

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 (see Note 7 if using stainless steel): 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 8).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.
Video
Notes
- If using table salt or sea salt, use half the amount listed in this recipe.
- A creamy yogurt helps the marinade stay thick and stick to the tofu. We love Culina, Cocojune, Coconut Cult, and GT’s Cocoyo.
- If you only have spicy Indian chili powder or cayenne pepper, use ½ to 1 teaspoon (and add 2 teaspoons paprika for color, if desired).
- 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!
- 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.
- 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.
- For stainless steel instructions, please see the 3rd FAQ in the post. If you use the instructions above, it will stick!
- 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
Nutrition information is automatically calculated, so should only be used as an approximation.
















what kind of nonstick pan do you use? (anyone)
I just made this in my caraway nonstick and all the browning stuck to the pan.
It’s still delicious but dang!
Hi Susan, so sorry that happened! Here’s Nisha’s list of recommended cooking equipment!
Did you follow the instructions in step 8 exactly as written? 2tsp of oil spread evenly around the pan, medium heat, and you cooked the tofu undisturbed for 5 minutes or until the bottom starts to develop a golden brown crust? Could the heat not have been high enough for some reason? We wish you the best of luck next time!
Thank you!
I did!
It says she uses Tremontina for nonstick –
is that the ceramic or Teflon? I’m trying to avoid teflon, but my ceramic is so fussy! It’s not nonstick for everything, apparently. I wonder if the Tremontina is better or if she just uses the teflon.
Hi Susan, you’re welcome! That link is for the ceramic nonstick pan!
Can I leave out the cornstarch? I feel like it might dilute the flavor somewhat.
Wow delicious!! The marinade is just phenomenal ! Thank you for another great Indian recipe, Nisha! Do keep the Indian dishes coming!
We’re so happy that the curry turned out well for you, Maneesha. Thank you for taking the time to leave a comment and for trying out the recipe!
I’ve made the Tofu Tikka Masala at least 10 times, plus several other recipes from RBL and they’ve all been stellar. For this one, I made very few alterations. I have a spice grinder and so once the dry whole spices cooled it was easy to turn it into a powder. I prefer this method over the blender to be honest, but I’ve done both. I’d say where I’d change the method next time is in the frying of the tofu. In the past I’ve made the Tikka Tofu in a large cast iron, well oiled and baked it. The texture in the cast iron and oven is perfect, plus it’s really easy to just pop in and move on. It’s a nice method for someone like me who doesn’t really press tofu much anymore, the oven helps remove moisture and it’s still flavorful inside. The taste of this recipe was perfect, but the texture wasn’t quite what I’d have hoped. I’ll make this again with my cast iron and maybe skip the salt bath for the tofu. I feel like I could use the Tikka salt ratios roughly and adjust from those if I skip the salted tofu bath. Any who, thank you as always for your recipes. The flavor in this one was perfection. I also ate this alongside some basmati rice and navratan snack mix, which is my go to snack to throw on any Indian food I make lately XD.
Thanks for sharing your experience with the recipe, Anne! We appreciate it 🙂
Bursting with flavor! Really appreciated the notes and clear instructions.
Thanks for your sweet review, Sofa! 🙂
Excellent recipe, Nisha Vora! 🌟 This Indian Tofu Curry looks incredibly delicious, creamy, and packed with authentic flavors. I love how you’ve made a restaurant-style Indian dish approachable with clear, easy-to-follow instructions. The combination of spices, cashews, and tofu sounds amazing. Thank you for sharing such valuable and inspiring recipes with us. Keep writing and sharing more wonderful recipes we can’t wait to try them! 😊🙏
Thank you! Hope you enjoy this recipe!
Absolutely delish! My kiddos loved it!
Awesome, Ilani. Thanks for your comment and for taking the time to review!
Decided to make this after watching the very charming YouTube video. A lot of ingredients were unfamiliar to me (Indian curry leaves, e.g.) but the video walkthrough is so clear that I thought I could give it a go. I’m so glad I did. This has gotta me the best thing I ever cooked. My husband absolutely smashed it, even though he’s not the biggest tofu fan (to put it mildly). This will 100% go in the monthly rotation — thanks, Nisha!!
Your review made our day, Jacqueline! Thank you for taking the time to share your thoughts and for trying out the recipe.
I was so excited to try this but I was out of tofu so I used seitan instead. That sauce is a dream! I can’t wait to make this recipe properly soon!
We’re happy to hear you enjoyed the curry even with the substitution, Lena!
I made the version with ground spices and it turned out great! Served it with super market naan which was a huge miss (lol, lesson learned) but the fam still enjoyed immensely. Excited to try the real deal once I can make it out to an indian grocer for those whole spices!
Thanks for the sweet review, Stevie! We’re happy the entire family enjoyed it!