Vegan Butter Chicken (Butter Tofu)
This vegan butter chicken is easy to make and features tofu in place of chicken for delicious plant-based version of the popular Indian dish.
About Butter Tofu
This butter tofu “chicken” recipe features tofu in a rich and creamy tomato and cashew-based sauce with spices like turmeric, cumin and cinnamon. You’ll need just 30 minutes to prepare it.
The recipe is simple with no preparation for the tofu, though you could bake or pan-fry it separately to give it a meaty texture. We’ll cover how to do that below.
The dish is rich, creamy, high in protein and packed with flavour and nutrition. The creaminess comes from blending raw cashews with plant-based milk, making the perfect dairy-free replacement for heavy cream.
You’ll love this recipe any night of the week for a satisfying and comforting meal but it’s great for entertaining too, especially if you’re serving guests with dietary restrictions. The final dish is not spicy, so it’s suitable for the whole family too. Serve with rice and naan and it’s sure to be a hit!
Recipe Highlights
- Vegetarian and vegan (dairy-free).
- Gluten-free.
- Ready in 30 minutes.
- Easy to make.
- Creamy, luxirious tomato butter sauce.
- Perfect served with rice and/or naan.
- Stores and reheats well.
Ingredient Notes
The ingredient list might seem a bit long but most of it is spices, so don’t be intimidated! Here are a fews notes on the ingredients and substitutions you can make:
- Cashews: You’ll need raw cashews with no added oil or salt to make the cream. You can substitute coconut cream or thick coconut milk if you like.
- Coconut Oil: Use coconut oil to saute or substitute water or broth for an oil-free recipe.
- Garlic & Ginger: Fresh garlic and ginger are best for flavour here.
- Onion: You can use white onion, yellow onion or shallot.
- Spice Blend: You’ll need a mild chili powder, ground turmeric, ground coriander, ground cumin and cinnamon. It’s best to use all of these in the amounts listed for the best flavour profile.
- Maple Syrup: Just a little sweetener to balance the acidity. You can substitute brown sugar or coconut sugar.
- Diced Tomatoes: You’ll need a large can of diced tomatoes and will use the whole can, including the juices. For a smoother sauce, you can also use crushed tomato.
- Tofu: Use firm or extra-firm tofu or substitute plant-based chicken, cauliflower or chickpeas.
How to Make Butter Tofu
Step 1: Press the tofu and soak the cashews.
This step is technically optional so feel free to skip it if you just want to get into the recipe. However, if you do not have a high-speed blender, I would recommend soaking the cashews in boiled water for at least 30 minutes up to overnight.
If you’re soaking the cashews, place in a bowl and cover with boiled water. Let sit for 20-30 minutes then drain.
To press the tofu, use a tofu press or wrap it in a dish cloth and place a heavy object like a skillet on it for 20-30 minutes. After pressing, cut the tofu into cubes.
Quick Note: I did not do any tofu preparation for this recipe but if you’d like to add texture and crispiness, you can pan-fry or bake the tofu before adding to the sauce at the end.
To pan-fry the tofu, use this cashew tofu stir fry recipe, to bake the tofu, use this peanut tofu bowl recipe.
Step 2: Make the cashew cream.
Add the drained cashews and milk to a high-speed blender and blend on high until completely smooth and creamy. I used almond milk for an extra-creamy consistency but you can also just use water.
You may need more than 1/2 cup of liquid. We’re looking for a heavy cream consistency.
Quick Tip: To substitute coconut milk, replace the cashews and milk with about 1-1.5 cups of full-fat coconut milk. Coconut milk is not traditionally used in butter chicken but it can be used if you can’t do cashews.
Step 3: Cook the onion, garlic and ginger.
Heat the coconut oil, or another cooking oil of choice, in a large skillet over medium heat. When you’re ready, add the onion, garlic and ginger and cook for 4-5 minutes, stirring often.
Step 4: Toast the spices.
Add all of the spices to the pan and cook for 1-2 minutes to toast, stirring constantly.
Step 5: Finish the sauce.
Add the maple syrup and canned diced or crushed tomato to the pan. Add the cubed tofu and pour in the cashew cream.
Simmer the butter chicken for about 10 minutes over medium-low heat.
Serve your delicious butter tofu over your favourite rice and topped with fresh cilantro.
Variations
- To use cauliflower instead of tofu, roast 1 small head of cauliflower in 2 tsp olive oil with a pinch of salt and pepper until tender and golden then mix it into the sauce when you would have added the tofu.
- To use chickpeas instead of tofu, drain and rinse a 19 oz can of chickpeas then add it at the end and stir until heated through.
Frequently Asked Questions
Yes. To make this recipe without tofu, substitute 1 19 oz. can or about 2.5 cups of cooked chickpeas for the tofu.
Yes. To use coconut milk instead of cashew cream, substitute 1 cup of full-fat coconut milk for the cashews and milk.
Serving Tips
- Butter tofu can be enjoyed on its own but it’s best served over fresh jasmine or basmati rice. Brown rice works too!
- It’s delicious served with fresh naan or roti for dipping.
- Sprinkle with freshly chopped cilantro before serving.
Storing Instructions
- Let cool before storing.
- Butter tofu stores well in the fridge in a sealed container for up to 5 days.
- Reheat in a saucepan on the stovetop over low heat or in the microwave until heated through.
Did you make this butter tofu?
⭐⭐⭐⭐⭐
I’d love to hear about it! Click here to leave a review and don’t forget to post a pic to social and tag @runningonrealfood so I can check it out!
Easy Vegan Butter Chicken
- Prep Time: 10 mins
- Cook Time: 15 mins
- Total Time: 25 minutes
- Yield: 4
- Category: Main Dish
- Cuisine: Indian
- Diet: Vegan
Description
This incredible vegan butter chicken features tofu in a silky cashew tomato sauce and is delicious served over rice.
Ingredients
- 1/2 cup raw cashews + 1/2 cup unsweetened almond milk or water
- 1 tbsp coconut oil (use vegetable stock or water if you prefer)
- 1 tbsp fresh ginger, minced
- 3 clove garlic, minced
- 1 medium white onion, finely diced
- 2 tsp mild chili powder
- 1 tsp ground turmeric
- 1 tsp ground coriander
- 1/2 tsp cumin
- 1/2 tsp cinnamon
- 1 tbsp pure maple syrup
- 1 – 28 oz can diced tomatoes, with the juice
- 1 package organic firm or extra firm tofu, pressed and cubed
- salt and pepper, to taste
Instructions
- Press Tofu (Optional): 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.
- Soak Cashews: 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.
- Blend Cashew Cream: Drain the cashews to a high-speed blender with the plant-based milk. Blend on high until completely smooth and creamy. You may need more than 1/2 cup liquid. We’re looking for a heavy creamy consistency. You should be able to pour it from the blender, so adjust accordindly.
- Saute Aromatics: Heat the coconut oil over medium heat in a large skillet. Add the ginger, garlic and onion and cook for 4-5 minutes, stirring frequently, until softened.
- Toast Spices: Add all of the ground spices: chili powder, turmeric, coriander, cumin and cinnamon. Stir constantly for another 1-2 minutes to “toast” the spices.
- Add Liquids and Tofu: 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.
- Season and Serve: Taste and season with salt and pepper, if needed. Serve over rice and topped with chopped fresh cilantro and lime wedges on the side.
Notes
If you have a high-speed blender like a Vitamix or Blendtec, you can skip soaking the cashews but I’d still recommend at least a quick soak for the creamiest result. If you do not have a powerful blender, I’d recommend soaking them for at least 30 minutes in boiled water up to overnight to achieve a smoother texture. The cashew and milk mixture can be substituted with 1 cup full-fat coconut milk.
To keep this recipe simple, there is not preparation for the tofu. If you’d like to bake or pan-fry the tofu for more texture, break into small chunks after pressing and toss with 1 tbsp cornstarch, salt and pepper. Either pan-fry in a bit of oil over medium-high heat until crispy on all sides or bake spread out on a baking sheet at 400 F for 25-30 minutes until brown and crispy.
Nutrition
- 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
This recipe as originally published January 19, 2015. It was updated December 2019 with new photos and text.
Does the calories include one serving with rice or is it just one serving if the curry alone?
It’s just the curry. Thanks!
Very easy and tasty recipe!
Absolutely excellent! I added a zucchini and some sliced cabbage to make it a one dish meal with veggies. So good!
My family loved this! The only changes I made were to add 3/4 tsp salt to the curry on the 6th step, and to coat the tofu in 3 tbsp soy sauce, and 2 tbsp cornstarch and then bake the pieces at 350°C for 20 minutes (flipping halfway though). Thanks for the great recipe Deryn!
You’re welcome! Thanks for adding your feedback. So glad it was enjoyed!
Ah one of my favourite recipes, we do this fairly often and enjoy it every time! I tend to do extra coriander and chilli, and let it simmer a bit longer. If the texture of the tofu is too soft, I’d recommend baking it first 🙂
Also great for lunch the next day
Thanks for the feedback, Kelsey! So glad it’s a favourite!
This recipe is SO GOOD and one of our family favorites. I’ve made it multiple times and this is what makes it the best for us – bring cashews to a boil and let them sit in hot water while the tofu presses. Rinse and add 1/2 cup more water than the recipe calls for in the blender and it makes a delightfully creamy sauce with minimal time. I use 15oz can of tomatoes and since we’re not vegan I also add about 2-3 tbsp of real butter to the sauce while everything simmers. The flavor is DELICIOUS! Thank you for sharing.
This was truly delicious & so easy to make. Fragrant & creamy. It makes a lot of sauce. So if you add more tofu it would feed 6-7 I would say.
Thanks for the great recipe.
So glad you enjoyed it, Josie! Thank you so much for the kind review.
I would double the spices (except the cinnamon) and add a few cardamom seeds.
Reduce the tomato by 1 cup (8 oz.) and add another 1/2 c of the cashew cream.
This tastes much better if the tofu settle sin the sauce for at least a couple of hours or overnight.
Also, because of the absence of most of the ingredients that make butter chicken, butter chicken – I’d call it something else, because it really doesn’t taste like butter chicken. It’s a tasty veg. dish for sure, but don’t expect it to satisfy your craving for something that’s usually loaded with cream, butter and chicken.
I made this last night and the whole family loved it! Including our picky teen! It will definitely be added to our regular rotation!
Thank you so much!!
You’re welcome! So glad you enjoyed it!
Love it! I didn’t blend the cashews finely enough with the coconut milk, so the cashew cream was a bit grainy. I’ll have to pay more attention to that step next time.
Glad you enjoyed it, Ceara!! Thanks for the review.