I don’t think there’s any dish that combines health and indulgence quite like this Vegan Palak Paneer with Tofu. It’s not only packed with healthy spinach and protein from tofu, but it’s also so flavorful and tasty thanks to mix of Indian spices. How bad does that sound?
What is Palak Paneer and is it vegan?
Palak paneer is a popular north Indian dish typically made with a spiced yet mild curry or gravy with spinach (palak) and cubes of soft Indian cheese (paneer). The sauce often contains a bit of heavy cream as well. It’s typically served with white basmati rice or an Indian flatbread, such as roti, or naan. It’s flavorful, aromatic, and a good way to eat a lot of spinach.
But, it’s not vegan (hi cheese, hi heavy cream).
How to Make Vegan Palak Paneer
To replicate the texture of paneer, veganized Indian recipes often rely on tofu, as I do in my Restaurant-Style Malai Kofta. Similarly, in this vegan Palak Paneer recipe, I swap out the paneer for tofu, but I give you two different options for how to make the tofu (more on that in the next section).
And the spinach gravy is just as creamy as the traditional, but it’s thickened with cashews, not milk or cream. You won’t miss the dairy, I promise!
This vegan palak paneer tastes indulgent but is actually very healthy. You’re eating a ton of spinach, there’s a minimal amount of oil, and it’s made with wholesome ingredients. If you do want to add a bit more decadence, feel free to add some full-fat coconut milk or coconut cream into the spinach gravy when you add the tofu.
Watch! How to veganize Palak Paneer
Two ways to prepare the tofu
When I first tested this recipe, I tried it with baked tofu, primarily because I love crispy baked tofu. It was delicious and very flavorful (I tossed the tofu with spices), but as Max remarked, it didn’t taste/feel that much like paneer, which is the soft, slightly chewy Indian cheese typically used in this dish.
So, I retested this recipe, using boiled tofu instead. To be honest, I didn’t have high hopes for this method because I figured boiling tofu would be quite sad. But I was wrong! I love being wrong when the result equals delicious food!
Boiling the tofu keeps the tofu soft but brings a chewiness to the tofu, akin to the texture of paneer. Think of it as chewy-yet-soft tofu. And if you generously salt your boiling water, it adds even more chewiness to the tofu!
I think both versions of this Vegan Palak Paneer are delicious, which is why I provide both tofu methods in the recipe. Here’s how to decide which version you want to make.
Use the Boiled Tofu Method if:
-
You want a more authentic-tasting palak paneer where the tofu really mimics the texture of the paneer
-
You want a shorter prep and cook time for the tofu (you don’t need to press the tofu and it takes just 2 minutes to boil)
-
You want to minimize the amount of oil in your cooking (the baked tofu is coated in a bit of oil)
Use the Baked Tofu Method if:
-
You prefer your tofu to be crispy
-
You want two different, distinct textures in this dish (creamy spinach curry + crispy tofu)
-
You want to add extra flavor (the tofu is coated in spices and then baked)
How to press tofu
If you opt for the baked tofu method, you will need to press the tofu to remove all the excess water; otherwise, it won’t crisp up in the oven. Place the tofu on a cutting board lined with paper towels; place more paper towels on top of the tofu and weight them down with a heavy cookbook or a heavy skillet filled with a few cans of beans. Let sit for 20-30 minutes to remove excess water.
Want to learn more about how to make tofu taste AMAZING? Check out my comprehensive guide to cooking tofu.
Ingredient Spotlight: Spinach (aka Palak)
Palak paneer is typically made with fresh mature spinach. That said, if you can’t find regular spinach, you can substitute baby spinach (though it is more expensive) or frozen spinach. If you use frozen spinach, you don’t need to blanch it because it’s already been blanched or boiled, but you will want to thaw it.
First, wash the spinach thoroughly. Spinach is quite dirty and sandy, so it’s important to rinse it a few times. Otherwise, you’re likely to bite down on some sand, which is never a pleasant experience.
Next, blanch the spinach in boiling water and then immediately submerge it in an ice bath until it has cooled down. The blanching serves a few roles. It softens the spinach, so your sauce is smooth and creamy and doesn’t have raw bits. It also removes the bitter flavor of spinach (mature spinach is quite bitter in contrast to mild baby spinach). And blanching, as opposed to just boiling, also helps retain the spinach’s vibrant green color.
I’ve seen recipes that don’t call for blanching/boiling the spinach, and honestly, it confuses me. I tried just sautéing the spinach once and it tasted *so* bitter that I had to add several spoons of sugar to calm down the bitterness (and I’m not even someone who’s that sensitive to bitter food…I love me some radicchio)!
After blanching, squeeze out as much water as you can from the spinach. I usually let it dry out a bit on a paper towel or clean kitchen towel while I do any other prep work.
Then, make the spinach sauce. Add the blanched spinach to a blender with raw soaked cashews, garlic, ginger, serrano peppers, tomatoes, water, and salt. Yes, this is an incredibly healthy sauce! Blend until creamy and completely smooth. If you’re using a high-powered blender like a Vitamix, you can go easy on the prep work and not do too much chopping, as the blender will do it all for you.
After you cook the aromatics, pour the spinach sauce into the pan and let it cook for about 5 minutes. This helps slightly thicken up the curry, allows the flavors to meld together, and mellows out the somewhat intense grassy flavor of spinach.
Tips for making this weeknight-friendly
Work efficiently and multitask! While your cashews are soaking, start on everything else: prep, cut, and cook your tofu; clean and then blanch spinach; chop up the aromatics for the masala and spinach sauce.
To save extra time, as noted above, stick with the boiled tofu method. It doesn’t require you to press the tofu for 20-30 minutes and the boiling takes just 2 minutes. Plus, you can use the same saucepan to boil the tofu and blanch the spinach (fewer dishes to wash!).
If you have a powerful blender, such as a Vitamix, you won’t have as much chopping to do for the spinach sauce because the Vitamix will pulverize all the ingredients for you.
By following these steps and working quickly, you can make this meal in 45 minutes. If you work more slowly or take a break to have an evening glass of wine (always a good thing), it’ll take about an hour.
Serving Suggestions
I like to finish this vegan palak paneer with a squeeze of fresh lemon or lime juice—which helps brighten up the cooked spinach flavors—and a garnish of chopped cilantro. If I have coconut yogurt at home, I like to little add just a few spoons of that into the finished dish for a nice tangy balance.
And as mentioned above, if you want to make this dish more indulgent, add a few splashes of full-fat coconut milk or a scoop of coconut cream to the spinach gravy when you add the tofu.
To make this dish a full meal, serve over a bed of white basmati rice (or brown rice) or serve with an Indian flatbread such as paratha, roti, or naan (keep in mind that most store-bought naan breads are not vegan).
Vegan Palak Paneer with Tofu
Ingredients
Tofu
- 1 (14-ounce or 16-ounce / 400-454g) block of extra firm tofu
For the Baked Tofu Method
- 4 teaspoons neutral-flavored oil, such as grapeseed oil
- 1 teaspoon kosher salt
- 1 teaspoon ground cumin
- ½ teaspoon garam masala
- ¼ teaspoon cayenne pepper
- 1 tablespoon nutritional yeast (optional)
Spinach Sauce*
- 8-10 ounces (225-285g) spinach, washed well and tough stems removed
- ½ cup (70g) raw cashews, soaked in boiling water for 1 hour (if your blender isn’t high-powered, I recommend soaking in cool water overnight or for 8 hours)
- 1 ¼ (300 mL) cups water
- 2 garlic cloves, peeled but left whole
- 1.5 inch (~3.5 cm) piece of fresh ginger, peeled and roughly chopped
- 1 serrano pepper, stem removed (remove seeds and membranes for a mild heat)
- 2 small tomatoes, roughly chopped
- ¾ teaspoon kosher salt
Masala
- 1 tablespoon coconut oil, or oil of choice
- 1 teaspoon whole cumin seeds
- 1 medium yellow onion, diced
- 4 cloves garlic, minced
- ¼ teaspoon ground turmeric
- 1 teaspoon ground coriander
- ¾ teaspoon kosher salt
- Freshly cracked black pepper
- 1 bay leaf (optional)
- 1 teaspoon garam masala
- ½ tablespoon fenugreek leaves, also known as kasoori methi (optional)
For Finishing
- Freshly squeezed lemon juice or lime juice
- Chopped cilantro
- White rice or Indian flatbread such as roti, naan, or paratha
Instructions
- Soak the cashews in boiling water. If you’re using a Vitamix-style blender, 20-30 minutes is enough time. Otherwise, soak at least 1 hour. Then drain.
- Prepare tofu - baking method only. Preheat the oven to 400°F/200°C and line a baking tray with parchment paper. Drain the tofu and press it (“how to press tofu” instructions are in the blog post). Chop the tofu into cubes.1. In a bowl, gently toss the tofu cubes with the 4 tsp oil, 1 tsp kosher salt, 1 tsp cumin, 1/2 tsp garam masala, 1/4 tsp cayenne, and 1 TBSP nutritional yeast (if using).2. Bake on the prepared tray for 20-25 minutes, or until crispy and browned.
- Prepare tofu - boiling method only. Bring a large pot of salted water to a boil. Drain the tofu and pat with paper towels to remove excess water. Chop the tofu into cubes.Add the cubed tofu to the boiling water and boil for 2 minutes. Use a strainer to remove the tofu from the water and drain immediately. Set aside.
- Blanch the spinach. Bring a large pot of water to a boil (use the same pot if you boiled the tofu). Meanwhile prepare an ice bath (a large bowl of ice water). Submerge the spinach leaves in the boiling water and blanch for 2 minutes, or until wilted yet still bright green. Immediately transfer to the ice bath to stop cooking. Once the water is cool, squeeze out as much water as you can. Transfer spinach to a clean dish towel to dry out while you prepare any remaining ingredients.
- Make the spinach sauce. Add the blanched spinach to your blender with the soaked and drained cashews and all remaining Spinach Sauce ingredients. Puree until totally smooth, scraping down the sides as needed.
- Make the masala. Heat a large deep pan over medium heat with the oil. Once the oil is shimmering, add the cumin seeds and fry for 1 minute, or until a bit darker and very fragrant, tossing frequently. Add the onion and cook for 4-5 minutes, or until translucent. Add the garlic and cook 1-2 minutes until golden. Add the turmeric, coriander, 3/4 teaspoon kosher salt, a black pepper to taste, and bay leaf (if using). Cook for 30 seconds, stirring the spices into the onions.
- Reduce the heat to medium-low. Pour in the Spinach Sauce and cook for about 5 minutes, until the mixture is thick, stirring occasionally and adding more water if the sauce appears to be drying out.
- Stir in the garam masala and, if using, crush the fenugreek leaves into the gravy. If using boiled tofu, add that now Stir gently to combine and cook for 2-3 minutes or until the mixture is heated through. Season to taste with salt and pepper and squeeze a little lemon or lime juice on top. If using baked tofu, serve it on top of the spinach curry at the end.
- Add cilantro to garnish and serve with white rice or Indian flatbread.
Notes
I made this a couple of weeks ago (the boiled tofu method) and it was uh-mah-zing!!! Many thanks for this recipe, Nisha: it is my favorite of your creations so far!
The non-vegan palak paneer was a favorite of mine in my pregan (pre-vegan) days…this one is no less delicious. Highly, highly recommended!
I was at an Indian restaurant recently, and despite being plant-based for many many years, could not resist the pull of the palak paneer. It was delicious. Then I stumbled across this recipe last night, and decided to make it today. It knocked my socks off, and was easily as good as the restaurant non-vegan version! I will definitely be making it again. Thanks Nisha, this truly is an extraordinary recipe!
Thanks for sharing, Alexis! We are so glad you loved it.
My husband I just made this for dinner tonight and absolutely loved it! We’re already looking forward to leftovers for lunch tomorrow, and we’ll definitely be making this dish again and recommending to friends.
We used the boiled tofu method, and I’m so impressed at how closely it mimics paneer.
Thank you so much for sharing this recipe!
Hi Maraia, we’re thrilled to hear you enjoyed this recipe! Next time, would you mind leaving a rating alongside your review? Star ratings are big help to readers who are thinking of making the recipe. Thanks!
Somehow my previous comment saved without a rating, so here are the five well-deserved stars!
Thanks again, Maraia!
This was SO good!!! Wow. Tastes exactly like getting it at the restaurant. I’ll be making this many more times!
So delicious! I made this last night and we loved it. Saag Paneer is my favorite, but I don’t want all the ghee and cheese. I made this without oil and used water instead. Came out great. I did use the baked tofu approach and I think next time I would try boiled tofu. The texture of the baked tofu was fine (not crunchy because I didn’t use oil), but the additional spices weren’t necessary. The flavor of the gravy is plenty!
This was SOOOOO good 12/10 and so healthy! Boiling the tofu was delicious – just like paneer. I like spicy things and the full Serrano pepper was very spicy but just the right amount.
Will this hold in the fridge for a few days?
Convinced there is not one bad recipe on this whole site, but this one was beyond amazing! Never would’ve tried to boil tofu but trusted Nisha and he process was definitely worth it!
Would Fenugreek Seed ground work to sprinkle on at the end?
I would say that it will be too bitter and strong. I recommend that you use the leaves instead. A small box from an Indian grocery store is pretty inexpensive.
This was really good! I was a little skeptical of the boiling tofu part, but I did it and it worked! it was not difficult/high effort but I did end up making a mess of the kitchen. Worth it though! Very delicious.
Absolutely delicious! Worth the effort.
Before going vegan this was my favorite dish! Thank you so much for posting this recipe it was so good.
the boiled garlic and the soaked cashew trick was a wonderful one! I tweaked the recipe by making it a bit more spicy – doubled the spices. Turned out to be soo delicious!
check out my Instagram @foodswithh for recipes and tryouts!!
Forgot to rate!
This was absolutely delicious! Just the perfect amount of creaminess and spices. I left out the serrano pepper because my 3 years old doesn’t eat spicy food. He’s usually really picky and he ate it all! Thanks for the recipe!
This is Amazing! I’m making it for the second time tonight and doubling the recipe this time. I boiled the tofu and it makes for a really good (and better) texture than if you were to leave the tofu as is!
Made tonight. Really yummy. Baked the tofu. Served with naan. Next time I’ll serve with rice. I think the dish needs it.
Thank you so much for this receipe! I am absolutely addicted to it! In a pinch I have used a box of defrosted and pressed frozen spinach instead of fresh and it is still marvelous. Also fantastic as a base sauce for a naan pizza, topped with fresh tomato and a little vegan mozarella and baked.
I saved this recipe some time ago, but just got around to making it today. I used the baking method, but didn’t spend a lot of time squeezing the water out (just used a tea towel to wrap it in) and didn’t use any oil – just tossed the tofu cubes in the seasoning and baked. It took me a few more minutes to make this up, but now that I have done it once, it’ll come together much quicker next time. I didn’t have any serrano or green chilies, but used a jalapeno as a last minute sub. It’s very tasty! Thanks for the recipe!
Hi Nisha, I made it! It was easy too! I really liked the tip on boiling tofu – it really helps with the texture and makes it very paneer-like. I used half a bag of frozen spinach to make things easier. I also boiled the cashews and that helped as well. I think I will use a thai chili pepper next time for slightly more heat. I removed the seeds and membrane of the serrano and I think a child could handle it. I did use a little less onion and garlic (it’s a religious thing). BTW, if you could figure out an onion and garlic free sauce, I would really appreciate it. As for taste? My wife and mother-in-law will be the judges this evening. My born-in-India wife does not like traditional palak paneer (which is weird) and my MIL is a cooking master, so I’m nervous. As for me, I am pleased with the results. I put 4.4 oz of coconut yogurt (a little container), methi, and lemon juice. Thank you Nisha! I’m going to make more of your recipes in the near future. I’m giving this 5 stars for taste, ease of preparation, and its vegan-ness.