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.
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).
- 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)
- 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
- 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)
- Freshly squeezed lemon juice or lime juice
- Chopped cilantro
- White rice or Indian flatbread such as roti, naan, or paratha
- 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.