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
Wow! I made this with the boiled tofu, it’s so flavorful. Seconds please! I made the spinach sauce in the vitamix, next time I may save some of the boiled leaves to add more texture to the sauce. Will be making this again very soon!
Taylor, So glad to hear you loved this recipe!
This is a delicious and easy to follow recipe! I opted for the boiled tofu version this time. To my taste, the crispy version is yummier.
I used baby spinach and did not blanch them, but puréed them directly! It was really tasty with Basmati rice and vegan naan!
Tasty, thanks for sharing your experience Flavia!
So delicious!! I have longed for a vegan variation on this dish, and am so grateful to have found this one. Thanks so much!
So glad you loved the recipe, Beth!
Just made this meal and my boyfriend said it was the best thing I’ve made in months (I cook almost every night). The recipe took a while (made it on a weeknight) but it was definitely worth it!
Thanks for sharing, David!
This recipe was surprisingly tasty! Loved the heat from the pepper (used jalepeno), spiciness from the raw garlic, and the creaminess! Boiling the tofu worked great to achieve a chewy texture. Love your recipes Nisha, thanks for introducing us to vegan Indian dishes!
Thanks for sharing, Rachel! Happy you love the Palak Paneer!
As a Palak Paneer lover, this hits the spot! It tastes exactly the same and is much healthier for you than Palak Paneer you would get in a restaurant. I had some leftover that I brought into work for lunch and all my colleagues asked me for the recipe, because the aroma alone had them drooling!
Charlene, So glad to hear you and your colleagues loved this recipe!
Very well-composed recipe (as always) that really provided this authentic Indian restaurant style feeling. Absolutely loved it :)
Awesome, Michael. Thanks for your comment and for taking the time to review!
I just made this using the boiled tofu method and it was delicious.
This is a recipe I know I will make often.
Thank you!
We’re thrilled to hear that, Karrie! Thanks for the great review!
This was delicious! Even a hit with my 3 and 1 year old! I served with naan and we ate it all up!
Hi Nisha!
This curry looks delicious – your recipes are always a win at my place. :)
I do have a question, however – is it possible to replace the raw cashews with 2-3 tbsp of cashew butter to save some prep time?
Also, is there any way to make the dish oil-free?
Thank you so much for this fabulous recipe!
Hi Madelyn, as long as it’s raw unsweetened cashew butter you should be fine! When subbing raw cashew butter, use half the measurement of whole nuts called for in the recipe. Also in regard to the oil question, you can try to add the spices in ground form to the spinach sauce but it will change the recipe a bit. You can try to bake the tofu with a smaller amount of oil but no oil will not help it get crispy. Happy cooking!
I have made this at least 3 times and it is always a winner. Healthy and totally hits the spot when I want palak paneer!
That is amazing to hear, Rachel! So glad you love it :)
Hi there… do you have suggestions for this recipe if one doesn’t want to include onions and garlic? (I do have asafoetida; wondering how omitting one onion would change that sauce). Thanks in advance!
Hi Patricia! I think you should be good to swap out those ingredients, just make sure to add dry spices all at the same time and cook on the stovetop for no longer than 30 seconds!
Thanks, I will try!
Your suggestion worked. I made it without garlic and onion, adding a bit of asafoetida powder. This was the most delectable dish I’ve made in ages! My daughter and I loved it, thank you! (^_^)
Awesome, Patricia. So glad that worked out!
LOVED this recipe so much! So easy to make and super tasty. I only had a 16 oz. bag of frozen spinach so I heated it in the microwave instead of steaming fresh and used that instead – worked out perfectly. I also substituted chickpeas and some diced potatoes for the tofu to use what I had. SUPER delicious and this will totally be in the rotation now. Thank you for the fabulous recipe, Nisha!
Awesome, Rachel. Thanks for your comment and for taking the time to review!
I loved it!! I was skeptical in the beginning because I am not a big fan of palak paneer, but it turned out amazing. Thanks for sharing this recipe!!!
Glad you enjoyed, Ayushi :)
I needed a tofu recipe and happened to have all of the ingredients on hand. I have never cooked indian food (or boiled tofu) before, but the finished result is incredible! The preparation and cooking felt manageable/beginner-friendly. I highly recommend reading the recipe ahead of time, and having all prepped ingredients ready/measured in bowls (grouped by what gets added in each stage of cooking) before you start cooking. I would serve this to guests, and will definitely be making it again in the future.
Awesome, Shana. Thanks for your comment and for taking the time to review!
I loved this!!! Fantastic flavors and just made the perfect comfort food…
Hi Cindy, 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!
I made this for lunch today and it was amazing! Thanks for this great recipe, going to be returning to this frequently.
Great, Robin! We are to happy to provide you with tasty recipes :)
Freaking delicious!!
I was nervous to boil tofu because I’ve never actually cooked it like that before, but it’s awesome!
Didn’t have cumin seed, but powder seemed to work fine^^
Thanks for the totally bomb recipe!
Awesome, Alli! Thanks for your comment and for taking the time to review!
This is one of our favorite meals. I only make it about every 2 months or once a quarter just because of time, but it is totally worth it! I am a seasonal eater, but this can work for all seasons. So MUCH healthier than the restaurant version!
Awesome, Megan. Thanks for your comment and for taking the time to review!
Made this last night. Delicious!
Thanks for sharing, Sandy!
Nice! The texture of the tofu was perfect! I would love to see a Shahi Paneer recipe.
Thanks for the lovely feedback, TJF! I’ll relay that message to Nisha :)