This vegan Kadai Tofu "Paneer" features cubes of tofu dunked in a creamy tomato sauce. A vegan and gluten-free recipe that's ready in under 30 minutes.

Kadai paneer is a popular restaurant-style recipe made with the Indian cottage cheese, paneer. For my vegan recipe I toss out the paneer for tofu and add all the flavor needed to make this recipe taste not just authentic but perhaps better than the original.
Tofu looks a lot like paneer but paneer has a creamier and richer mouth feel because it's higher in fat. That's why it's important to not just make a simple substitution but to ensure that you are adding back that lost flavor. I add some cashew cream to make up for that lost creaminess and fat, and use my homemade garam masala powder for the best flavor.
When substituting paneer in Indian recipes, and especially this one, it's best to use either-firm tofu, with as much water pressed out, or high protein tofu, which is much firmer. That's because you will need to stir-fry the tofu with vegetables in the "kadhai" - a small Indian wok - and you don't want it to mush up.
This is an incredibly simple dish: all you need to do is saute tomatoes, add a few onions or shallots with ginger and spices, and then finish it off with the tofu cubes. It takes under 30 minutes from scratch and you can serve it with rice, roti or vegan naan.
The recipe for the "kadai" spice mix makes enough to last you at least for two uses, so you can make some and store the rest in an airtight jar for another use.
I can also certify this is a kid-friendly and kid-approved recipe. Jay couldn't have enough of it, and he especially loved the tofu cubes.
More Indian tofu recipes
Recipe card

Kadai Tofu "Paneer"
Ingredients
- 14 oz super-firm tofu/high-protein tofu (or extra firm tofu, cut into ½-inch cubes. If using extra-firm tofu, press out all the water you can by swaddling the tofu block in paper towels and placing it in a colander with a weight on top. Leave it for at least an hour to drain out most of the water from the tofu.
- 3 large tomatoes (diced)
- 1 teaspoon avocado oil or any neutral oil
- 1 teaspoon cumin seeds
- 2 tablespoon cilantro (coriander leaves, chopped)
- 1-inch piece ginger (grated or julienned)
- 2 shallots (sliced)
- 1 tablespoon ground coriander
- 1 heaping tsp garam masala
- ¼ cup raw cashews (blended with ½ cup water to make cashew cream)
For spice mix:
- 1 tablespoon coriander seeds
- 1 dry red chili pepper
- 1 teaspoon cumin seeds (jeera)
- 1 teaspoon fennel seeds (saunf)
Instructions
- In a skillet, dry-roast the spice mix ingredients: the coriander seeds, dry chili pepper, cumin seeds and fennel seeds, until a couple of shades darker and fragrant. Remove to a spice grinder or blender and process to a coarse powder. Set aside.
- Heat the oil in a wok or a large saucepan. Add the cumin seeds and when they start to turn color, add the tomatoes. Saute the tomatoes until they are fully mashed and pulpy.
- Add the ginger, shallots and cilantro along with the coriander powder and garam masala powder and continue to saute for another five minutes. Add in the tofu cubes and 1 tablespoon of the prepared spice mix and mix well.
- Add the cashew cream and stir to mix. Check for salt. Let the sauce come to a boil, then turn off the heat. If you want a saucier sauce, add more water or vegetable stock to get it to the consistency you like.
Notes
Nutrition Information
To print recipe card without images, uncheck "instruction images" after clicking the "print recipe" button.






Maxine Kaufman-Lacusta says
Thanks for this yummy-looking recipe. I'm a lover of coriander seed, so I look forward to trying your corianderfull recipe next time I have tomatoes.
April says
Hi Vaishali
Made the dish this morning. Tasted lovely however it doesn’t look like your fish. I used 3 red Roma tomatoes but they were not soft tomatoes so I guess the color did not hold.
Denise says
No Trader Joe's nearby us here, so I tried this with frozen/thawed/pressed extra firm tofu. It has a chewier texture and sops up the flavor - and liquids - so, likewise, I needed to add more liquid (veg broth). It's delicious! And it makes a ton, so this is a good one to share or enjoy for leftovers. I also agree with cutting up the tofu into smaller pieces - its a better compliment to the dish, especially using the frozen style. A small amount of cashews goes a long way! Love that!
margaret van Haren says
It was delicious!!!
Will certainly make it again ( I probably would make the cubes very small and put some salt on the tofu next time).
As Always: Thanks Vaishali!
i always enjoy your recipes!!!
Krithika says
The biggest find from this recipe is the Trader Joe's tofu. It's wonderfully chewy, right out of the package. I will be using this for all my tofu dishes now!!
I made this with exactly half the amount of ingredients and found the gravy quantity to be far too less for the tofu I added. The taste was great, but was a little bland because the gravy ratio was off. I will try again with the full recipe for everything but the tofu and see how it goes.
Lee says
About how many pounds of tomatoes.
3 large doesn’t say much especially when
we’re at the height of tomato season.
Vaishali says
Use about a pound of tomatoes. It doesn't have to be exact.
Holly says
Could you please clarify the cashew cream in step #4?
Vaishali says
Hi Holly, added now-- thanks.
Maureen Merrill says
How much cashew cream or coconut milk?
Vaishali says
1/4 cup cashews blended with 1/2 cup water. You can sub with 1/2 cup coconut milk.
Michelle Rich says
Cashew cream is not in your ingredients list - how much should we use?
Vaishali says
1/4 cup cashews blended with 1/2 cup water, added, thanks!