Vegan Butter Tofu

Are you ever longing for some great Indian food, but hesitant to eat it due to all of the butter, oil, and cream that is in many of the traditional sauces? If so, this recipe will hit the spot! It’s a vegan version of traditional butter chicken, and gets its creaminess from cashew cream rather than dairy cream. Additionally, there is no butter and only a touch of oil which can easily be omitted. Because my wife is Indian, I’m held to a high standard when it comes to preparing Indian food, and I’m happy to say that she fully endorses this delicious dish!

After making the recipe a couple of times, I made a couple of adaptations. In the original recipe, I found the sauce to be less creamy than I expected. The creaminess is supposed to come from the cashew cream which replaces dairy cream in the traditional recipe. I found that using two parts water to one part cashews led to a watery “cream”, and instead decided to use a one to one ratio. Additionally, I tripled the amount of cashews from 1/4 cup to 3/4 cup (maybe tripling the amount of cashews was a bit overboard, but I’d recommend at least doubling the cream from the original recipe and perhaps adding a bit more to the sauce based on your desired consistency). Note that adding extra cream will cause the sauce to appear a bit lighter (you’ll see that my sauce is lighter than what is represented in pictures from the original recipe). I would also recommend using diced prepackaged tomatoes rather than fresh tomatoes (unless you can get really ripe, farm-fresh tomatoes). The texture tends to be more consistent and the flavor more robust. I like Pomi brand which comes in a box rather than a can. Also, if you want to save time making the tofu, stick with my basic Crispy Baked Tofu recipe. I found that the sauce has so much flavor, you really don’t need to make the tofu with additional Indian spices. Finally, I like to add crispy baked chickpeas to the dish for additional fiber, texture, and protein, and stir a few handfuls of baby spinach into the sauce to get my daily serving of leafy greens

Pomi brand finely chopped tomatoes


Adapted from original recipe on Vegan Richa.


Baked Tofu “Paneer” (to save time, you can substitute my basic Crispy Baked Tofu recipe)

  • 12 to 14 oz firm tofu, pressed between paper towels for 10 minutes, then cubed
  • ½ tsp each of garam masala, paprika, salt, and turmeric
  • 2 tsp ginger paste or minced ginger
  • 2 tsp garlic paste or minced, or ¾ tsp garlic powder
  • 2 tsp lemon juice
  • 1.5 tsp water (1/2 tbsp)
  • 1.5 tbsp cornstarch or other starch such as arrowroot
  • 1 tsp nutritional yeast (optional)
  • 1 tsp oil

Butter Sauce (I doubled recipe so there was enough to soak up with brown rice or naan)

  • 1 tsp olive oil
  • 3 cloves of garlic finely chopped or use a garlic press (to save time, you can also buy chopped garlic in a jar in the produce section)
  • 3 large ripe tomatoes or 1 15-oz can diced tomatoes (I prefer a box of Pomi diced tomatoes unless very ripe, farm-fresh tomatoes are available)
  • 1/2-1 inch cube of ginger, chopped (I usually use an inch, but would use 1/2 inch if you’re not a huge ginger fan or just aren’t sure about the flavor. Fresh ginger root is usually found in the produce section and needs to be peeled with a vegetable peeler prior to chopping. To save time, you can usually buy small jars or tubes of chopped or pureed ginger in the produce section, although this tends to be a bit less flavorful)
  • 1 hot chile finely diced (any type of hot chile will work, even jalepeno; this can be omitted if you prefer a less spicy sauce)
  • Cashew cream made with with 1/3 cup soaked cashews (soaked in hot water for 15 minutes, then drained) blended at high speed with 1/3 cup of cool to room temperature filtered water until creamy (consider making an extra serving if you’d like a more creamy sauce)
  • ½ tsp garam masala (usually can be found in spice aisle of the grocery store)
  • ½ tsp paprika or kashmiri chili powder (this is a chili powder which can be found at an Indian grocery store. DO NOT USE traditional chili powder)
  • ¼ to ½ tsp cayenne
  • ½ to 1 cup water
  • 1 tsp kasooori methi – dried fenugreek leaves (these can be found at an Indian grocery store but you can substitute fenugreek powder (see below) which can be found at most grocery stores
  • ½ tsp salt
  • ½ tsp sugar or other sweetener, to preference


  • 2 large handfuls of organic baby spinach to fold into sauce
  • 1 can drained and rinsed chickpeas (garbanzo beans) which can be lightly salted and baked on a baking sheet at 400 degrees for 20 minutes at the same time you are baking the tofu
  • Cilantro, small handful of sprigs (I threw these into the blender while preparing the sauce and also used them for garnish at the end)


Bake the Tofu 

Press and cube the tofu if you haven’t already. In a bowl, mix the rest of the ingredients under baked tofu, to make a marinade. Add tofu and toss well. Marinade for 15 min (optional). Preheat the oven to 400 degrees F. Place the tofu cubes on parchment lined sheet. Bake for 15 to 20 minutes.

Make the Butter Sauce

Heat oil in a skillet over medium heat. Add garlic and cook until golden.

Puree the tomato with the chopped ginger and the green chile in a high-speed blender (**if using cilantro in the sauce, this can also be added to the blender). Add to the skillet and cook over low heat until the puree starts to thicken (about 5 minutes). Don’t wash the blender.

In the same blender, blend the cashews (that have been soaked in hot water for 15 minutes, then drained) and water until smooth. Blend the cashews for a minute, let the mixture rest for a minute, and then blend again for about a minute for a creamy result. Add the cashew cream to the skillet (Reserve 1 tbsp of the cream for garnish if desired).

Add spices, fenugreek leaves, salt and sugar and mix well. Use ½ cup water to rinse out your blender and add to the skillet. Mix and slowly bring to a boil (still over low heat so it doesn’t burn, stir frequently). Taste and adjust salt, heat (add cayenne) and sweet. Add more water if needed for preferred consistency. Add more cashew cream for a creamier texture.

**Here is where I stir in a couple of handfuls of baby spinach

Final appearance of sauce with addition of spices, cashew cream, and spinach

Fold in the baked tofu. Simmer for a minute.

**Here is where you can additionally fold in some crispy baked chickpeas

When serving, add a drizzle of the cashew cream and other garnishes as pepper flakes, chopped cilantro. Serve over Vegan Naan, rice or roti.


Make this soy-free: Simmer the sauce with chickpeas for 8 to 10 mins. Or add roasted vegetables such as cauliflower, bell peppers, zucchini and simmer for 2 minutes.

Make Butter Chikin (instead of tofu): Use any vegan chikin strips or seitan. Toss in garam masala, paprika, 2 tsp minced ginger and 2 tsp garlic and oil in a pan over medium heat. Cook for a few minutes then add to the sauce with 1 cup water. Simmer for 10 minutes or longer.

Nut-free: Use coconut cream (thick white part from a can of full fat coconut milk)

To substitute fenugreek leaves: Use ¼ – ⅓ tsp powdered fenugreek (fenugreek seed powder), or ¼ tsp ground mustard.