This gluten-free and vegan butter chicken is made with tofu instead of chicken and wonderfully rich cashew cream instead of dairy. Serve over rice for a hearty, filling and flavourful plant-based meal. 

Vegan butter chicken with tofu on top of white rice on a plate.

This dish is rich and creamy, high in protein and packed with nutrition. The creaminess comes from blending raw cashews with almond milk, my typical go-to for replacing heavy cream in recipes.

This recipe is one of my favourites, the flavour is unreal and it takes less than 30 minutes to make! I hope you enjoy it.

Ingredient Notes

The ingredient might seem a bit long but most of it is spices so don’t be intimidated! Let’s go over a few notes about the ingredients:

  1. Raw cashews. You’ll need plain, raw cashews to make the cream base for this recipe. Raw cashews are light beige in colour and have no other added ingredients like oil or salt.
  2. Spices and herbs. You’ll need onion, garlic, ginger, chili powder, turmeric, coriander, cumin and cinnamon. 1 tbsp fresh ginger, minced
  3. Diced tomatoes. You’ll need 1 28 oz can of diced tomatoes and you’ll be adding the entire can right into the recipe. Choose organic and no salt added tomatoes if you can!
  4. Tofu. Firm or extra-firm tofu is best for this recipe. For best results you can press it before hand but it’s not totally necessary.
Cubed tofu on a small white plate.

How to Make this Recipe

This recipe is super easy to make. You’ll need just 30 minutes to make it and served over jasmine rice it makes a wonderfully flavourful and nutritious meal.

To make it, first you’ll need to blend up some raw cashews and almond milk or water to make cashew cream. You can find full details on how to make cashew cream here.

Next, saute the onions, garlic and ginger then add the spices and cook for a few more minutes. Finally, stir in the diced tomatoes, sweetener, tofu and cashew cream. Simmer until heated through and enjoy!

Onions, garlic and ginger in a skillet.
Diced tomatoes in vegan butter chicken in a white skillet on the stovetop.
Spices being added to sauteed onions, garlic and ginger in a skillet.
Cashew cream being poured from a blender into tofu butter chicken in a skillet on the stovetop.
Thick and creamy butter tofu in a skillet on the stovetop.
Vegan butter chicken with tofu on top of white rice on a plate with a skillet of butter chicken in the background.

Here are some more delicious recipes you’ll love:

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Vegan butter chicken with tofu on top of white rice on a plate.

Easy Vegan Butter Chicken

  • Author: Deryn Macey
  • Prep Time: 10 mins
  • Cook Time: 15 mins
  • Total Time: 25 minutes
  • Yield: 4 1x
  • Category: Main Dish
  • Method: Stovetop, Blender
  • Cuisine: Indian
  • Diet: Vegan


This incredible vegan butter chicken is made with tofu in a creamy, spiced tomato sauce and is delicious served over rice.




  1. Press the tofu for 20-30 minutes. You can either wrap the block of tofu in a dish cloth and place a heavy object on it or use a tofu press. This step is optional but helps to squeeze out excess liquid so the tofu can absorb more flavour.
  2. While the tofu is soaking, add the cashews to a bowl and cover with boiled water. Let them soak for 20-30 minutes. This can also be done ahead of time and soaked as long as overnight. 
  3. Drain the cashews to a high-speed blender with the plant-based milk. Blend on high until completely smooth and creamy.
  4. Heat the coconut oil over medium heat in a large skillet.
  5. Add the ginger, garlic and onion and cook for 4-5 minutes, stirring frequently, until softened.
  6. Add all of the ground spices: chili powder, turmeric, coriander, cumin and cinnamon. Stir and cook for another 1-2 minutes to “toast” the spices.
  7. Add the diced tomatoes, maple syrup, cubed tofu and cashew cream mixture from the blender. Mix well and simmer uncovered for 10 minutes over medium-low heat.
  8. Taste and season with salt and pepper, if needed. Serve over rice and topped with chopped fresh cilantro.


If you have a high-speed blender like a Vitamix or Blendtec, you can skip soaking the cashews. If not, I’d recommend soaking them for at least 30 minutes in boiled water to achieve a smoother texture. The cashew and milk mixture can be substituted with 3/4 cup full-fat coconut milk.



  • Serving Size: 1/4 of recipe
  • Calories: 307
  • Sugar: 7.5 g
  • Sodium: 377 mg
  • Fat: 20 g
  • Carbohydrates: 18 g
  • Fiber: 4 g
  • Protein: 15 g

Keywords: vegan butter chicken, butter tofu

This recipe as originally published January 19, 2015. It was updated December 2019 with new photos and text.