Palak Tofu (AKA Vegan Palak Paneer or Tofu Spinach Curry) is a mouth-wateringly tasty curry that features a rich and mild gravy made from pureed spinach. It’s super easy to make and only takes 30 minutes! Best served with this 3-ingredient roti.
🌟 Why this recipe works
- Practice makes perfect – we know that this recipe is an absolute winner because we’ve made it loads of times! Friends and family have liked it so much that they’ve asked us for the recipe to make it themselves, so here it is.
- Simplicity – this palak tofu is one of the simplest curries to make. All you do is blend up the gravy ingredients, fry off the spices and pop it all in a pan altogether. It looks more complicated than that though, so it’s bound to impress!
- Firm tofu – we use firm tofu because it’s an excellent replacement for paneer. Paneer doesn’t have a lot of flavour, and tofu and paneer have a really similar texture as they’re both chewy and spongey. Tofu is great in curries because it absorbs the flavour from the spices in the gravy. We make the tofu even better by coating it in curry powder.
- Traditionally vegetarian – Palak paneer is traditionally a vegetarian dish, made with spinach (palak) and paneer which is an Indian cheese. Paneer isn’t vegan, and sometimes the rich green spinach based sauce contains dairy, such as ghee. We’ve created a vegan palak tofu by replacing the paneer with firm tofu. It has a similar texture to paneer, so it works really well. The paneer would usually be cubed and grilled, but instead we have cubed and pan-fried tofu cubes. As a lot of Indian recipes are vegetarian, they are easy to make vegan with just a few simple swaps!
📋 Ingredient notes
- Tofu - we recommend using extra-firm tofu, because it has the right texture. You can use firm tofu if you don’t have any extra firm. If you do use firm tofu, be sure to press it before cooking to remove excess liquid. This will help to create a similar texture to paneer, which is really important for a good palak tofu. If you don’t have a tofu press, there is a DIY way to press tofu. Wrap the tofu in kitchen paper, and then place it between two plates. Weigh the top plate down with a couple of tins. This will squeeze the moisture out of the tofu for it to be soaked up by the kitchen roll. We’d recommend getting a tofu press though because it does a better job.
- Curry powder - any type of curry powder will work, so feel free to use whatever you have in the cupboard. We often use madras curry powder because we like the flavour, but any kind will work. In addition, coating and pan-frying the tofu cubes with curry powder is a step that we highly recommend in this recipe!
- Spinach - it will look like a lot of spinach at first – but don’t worry, it is all needed! Don’t wilt it down, as it will lose its substance and the taste will change. Be sure to use spinach raw, and don’t substitute it for other greens. If you do substitute in other leafy greens, this would make this dish more like a saag paneer, which is a similar related vegetarian Indian dish.
- Coconut milk - use either full fat or light coconut milk. You can make palak tofu without coconut milk. You can use cashew cream, plant-based cream or plant-based single cream instead, which all work well. To make cashew cream, soak 1 cup of cashews in just enough boiling water to cover them for 1 hour (or cold water for 8 hours). Once they’re soaked, blitz them up in the blender with the remaining water.
- Chilli flakes - this isn’t a spicy curry. It’s more of a rich curry with a deep and fragrant earthy flavour, which is totally delicious! If you want to make your vegan palak paneer a bit spicier, feel free to add more chilli flakes.
🔪 Step-by-step instructions
This section is an overview of the instructions to go with the visual guide for making palak tofu. Please see the recipe card below for the full ingredients list and instructions.
1. Begin by chopping the tofu into 2cm chunks. If you’re using firm tofu, make sure that you have pressed it first. Then, in a large bowl, toss the tofu pieces in the curry powder. Make sure that all of the tofu is evenly coated.
2. Next, fry the tofu. Heat some oil in a frying pan on medium heat, and then add the tofu to the pan. Cook the tofu until it is golden brown all over - this will take a couple of minutes on each side. Set the tofu aside.
3. Using a large blender, blitz the raw spinach with the water. Keep adding spinach to the blender one handful at a time until you’ve blended the whole lot. You’re looking to get a smooth consistency, like a smoothie.
4. Grab a large pan and heat up a splash of oil in it. When it’s hot, pop the onion in the pan. Cook until it is soft and has turned translucent. Then add garlic and spices to the pan. Heat them for a couple of minutes until they are fragrant.
5. Pour the blended spinach mixture into the pan with the garlic, onion and spices.
6. Add the coconut milk, tomato puree and tofu. Give everything a good stir, add a generous helping of salt, and simmer for 10 minutes.
👩🍳 Expert tips
- Variations - we don’t recommend using a different type of green leaf. Spinach is the base of the sauce, and it has a distinct flavour which is important for palak tofu. Feel free to add more chilli flakes to make it spicier, or serve them on the table for people to add.
- Spinach tips – we have made this dish using various methods. For example, we have wilted the spinach down and boiled it. This reduces acidity in the finished product but we didn’t think it made a big difference, so we skipped this step to make the recipe simpler. In addition, using baby spinach or fully grown English spinach is fine. Baby spinach is a bit sweeter.
- Tofu replacements - if you’re not keen on tofu, you could make this recipe with tempeh or even chickpea tofu. It won’t replicate the texture of paneer like tofu does, but it will still make a tasty curry.
- Preparation – for any recipe, not just vegan palak tofu, we recommend getting everything ready before you start cooking. Chop up your ingredients and measure out the spices into ramekins first. It will make the cooking process much easier!
- Storage – palak tofu keeps in the fridge for 3 days in an airtight container. In addition, it can be made ahead of time. We recommend leaving the pan-fried tofu out of the spinach gravy sauce until you’re ready to serve it. Just to make sure the curried crust doesn’t go soggy sitting in the gravy!
We wouldn’t recommend using frozen spinach for palak tofu. We always find that when spinach defrosts it loses a lot of water and isn’t as flavourful. If you’re going to try it, make sure to fully defrost the spinach before blending. If you do try it and it works, please let us know in the comments below!
No, paneer is an Indian cheese made from dairy, so it’s not vegan friendly.
In this recipe, we make the vegan paneer using firm tofu. We pan-fry it in curry powder until crispy before adding it to the curry, this makes it even better.
Yes! A great alternative to coconut milk is cashew cream, oat milk or shop-bought vegan cream.
Yes, definitely. It keeps well in the freezer for up to three months, just be sure that you defrost thoroughly before reheating. It’s a good idea to freeze it in individual portions, as this makes it much more manageable.
Yes, it keeps well in the fridge for two days. It’s a good idea to store the tofu separately, otherwise it will go soggy in the sauce.
🍛 What to serve with it
As with any curry, vegan palak paneer is best served with lots of sides! We really like it with any of these classic recipes:
🇮🇳 More Indian style recipes
Check out even more Vegan Indian Dishes in our full guide.
Did you make this recipe? Leave a review and a rating below, or tag us in your photos on Instagram! Alternatively, bookmark it in your browser or save to Pinterest for later.
If you love our content, please consider supporting it by buying us a coffee.
For the tofu:
- 400 g extra-firm tofu - cut into 2cm chunks
- 2 tsp curry powder
For the sauce:
- 1 cup water
- 230 g baby spinach
- 1 large onion – chopped
- 3 cloves garlic – crushed
- 1 tsp chilli flakes
- 3 tsp garam masala
- 3 tsp ground cumin
- 2 tsp ground coriander
- 2 tsp curry powder
- ½ cup tomato puree
- 400 ml coconut milk
- Salt – to taste
- Put the tofu in a large bowl, add 2 teaspoons of curry powder and then give it a good stir until all of the tofu pieces are coated.2 tsp curry powder, 400 g extra-firm tofu
- Add a splash of oil to a frying pan, bring up to a medium heat, add the tofu and cook for a couple of minutes on each side until golden brown. Set aside.
- Put some of the spinach, along with the water into a blender and then blend. Keep adding handfuls of spinach until the mixture is smooth.230 g baby spinach, 1 cup water
- Get a large pan over a medium heat, add a splash of oil, then add the onion and cook until translucent.1 large onion
- Throw in the garlic and spices, then cook for another couple of minutes until fragrant.3 cloves garlic, 1 tsp chilli flakes, 3 tsp garam masala, 3 tsp ground cumin, 2 tsp ground coriander, 2 tsp curry powder
- Pour in the spinach mix, coconut milk and add the tomato purée and tofu, season well with salt, then heat through for 10 minutes until it's all nice and hot.½ cup tomato puree, 400 ml coconut milk, Salt, 400 g extra-firm tofu
- If using firm tofu (not extra firm), for best results we recommend using a tofu press to squeeze out excess water from the tofu. If using extra firm tofu, this isn't necessary.
- We don't recommend switching out another green leaf for the spinach. This recipe needs the spinach flavour. (If you make it with other leafy greens, this would make it a vegan saag paneer instead).
- If you don't have coconut milk, replace it with cashew cream, oat cream or single plant-based cream.
- Storing – it keeps in the fridge for 3 days. If making ahead of time, only make the sauce and then add the tofu just before reheating and serving.
- Freezing – this recipe freezes well, for up to 3 months. Make sure to portion it out and defrost before reheating.