Here's my recipe for authentic tasting Indian vegan butter chicken made with tofu, vegan butter and cashew cream. It is full-flavored and delicious but not spicy, like Indian food can often be. Video included.

Table of Contents
What is butter chicken?
Butter chicken, a popular offering at Indian restaurants, is a dish of roasted chicken cubes cooked in a creamy, mildly spiced butter and cream sauce. The story goes that cooks in north Indian dhabas, roadside eateries that cater to drivers on highways, created butter chicken (locally called "murgh makhani") as a way to use up leftover tandoori chicken that had gone a bit dry. With typical enterprise these cooks drowned the day-old chicken in a flavorful sauce and voila! Butter chicken was born.
Before I became vegan, butter chicken was one of my favorite north Indian recipes, so creating an authentic-tasting vegan butter chicken recipe without the butter and the chicken was a labor of love.
How to make vegan butter chicken that tastes authentic
To make my vegan butter chicken, I use tofu instead of chicken. To improve the flavor and texture of the tofu so it resembles chicken, the tofu is marinated in the same spices used to marinate chicken and then baked. The spices infuse the tofu, sending the flavor shooting into the stratosphere. Baking the tofu makes it chewy, giving the eater the same mouth feel and sense of satisfaction as they would get if they were eating chicken. The tomato and garlic sauce is full-flavored and delicious, and adding cashew cream makes it divinely creamy.
This was the most delicious dish I have ever made! The sauce was sublime! - Ava
Would you like to save this recipe?
Watch how to make vegan butter chicken

Recipe card

Vegan butter chicken recipe
Ingredients
For the tofu marinade
- 14 oz super-firm tofu/high-protein tofu (or extra firm tofu, pressed to remove excess water. Cut the tofu into six slabs)
- 1 teaspoon ginger garlic paste
- Juice of 1 lemon
- 1 tablespoon avocado oil or any neutral oil
- 2 tablespoon vegan yogurt
- 1 teaspoon salt
- 1 teaspoon paprika (or Kashmiri chili powder)
- 1 tablespoon ground coriander
For the vegan butter chicken sauce
- 2 tablespoon vegan butter (divided)
- 3 cloves
- 3 green cardamom pods
- 1 black cardamom pods
- 1-inch piece cinnamon
- 2 bay leaves
- 1 medium onion (sliced)
- 3 tomatoes (cut in a large dice)
- 6 cloves garlic
- ยฝ inch knob ginger (roughly chopped)
- 1 teaspoon paprika (or Kashmiri chili powder)
- ยผ cup raw cashews
- ยผ cup pumpkin seeds
- 1 tablespoon maple syrup
- 1 teaspoon garam masala
- 1 tablespoon kasoori methi (dry fenugreek leaves)
Instructions
Prep the tofu
- Place tofu slabs in a bowl. Add the ginger garlic paste, lemon juice and vegetable oil and rub it into the tofu. Set aside for 15 minutes.
- In another bowl mix the vegan yogurt, paprika, salt and ground coriander. Mix well and slather the marinade evenly over the tofu slabs. Set aside for 15 more minutes.
- Heat a grill pan or griddle and brush on oil or coat with cooking spray. Sear the tofu slabs on both sides until grill marks or brown spots appear. When cool enough to handle, cut each slab into eight cubes and set aside.
Make the sauce
- Heat 1 tablespoon vegan butter in a large pot or Dutch oven. Add the spices--cloves, green and black cardamom, cinnamon and bay leaves -- and saute for a minute until the bay leaves color slightly.
- Add the onions and mix, then quickly add in the tomatoes, garlic and ginger. Add ยฝ cup water, any remaining tofu marinade, pumpkin seeds and/or raw cashews and paprika. Mix, and cover and cook 10 minutes or until the tomatoes get really soft.
- Remove all the contents of the pan to a blender and carefully, taking necessary precautions because this is all very hot, blend to a smooth paste.
- Strain the sauce. This is really key to creating a smooth, silky sauce, so don't skip this if you want an authentic experience.
- Return the strained sauce to the pot, add a cup of water, and bring to a boil. Cover and cook for 10 minutes, stirring a couple of times in between.
- Stir in the maple syrup, kasoori methi, garam masala, tofu cubes and remaining 1 tablespoon vegan butter. Stir in the tofu cubes and add salt if needed.
- Bring to a boil and turn off heat. Garnish with cilantro if you wish.
Video
Notes
- Keto/low-carb: The following modifications will bring down net carbs in this recipe to 6 grams, making it suitable for keto eaters: 1. Cut down to 1 tomato and add 2 tablespoon tomato paste instead with 1 additional cup of water. 2. Skip the maple syrup and use any keto-approved sweetener, like erythritol, monk fruit sweetener or stevia. 3. Skip the cashews entirely and use just ยฝ cup pumpkin seeds instead.
- Soy-free: Use soy-free tofu, like chickpea tofu, or add cauliflower florets or mushrooms instead of tofu. Coat them in the marinade and either grill them or bake them.
- Nut-free: Skip the cashews and use ยฝ cup pumpkin seeds for the sauce.
Nutrition Information
To print recipe card without images, uncheck "instruction images" after clicking the "print recipe" button.
Recipe FAQs
This is a very healthy recipe, with just 187 calories and 8 grams of protein in each serving. It is also a fantastic dish for low-carb eaters, with just 10 grams of net carbs in a serving. The recipe is already gluten-free and see recipe notes below for tips on tweaking it to soy-free and nut-free diets.
If you don't have a grill pan, bake the tofu in an oven preheated to 350 degrees F/180 degrees C for 40 minutes. Flip the tofu over halfway through baking. You can also use a griddle or frying pan instead of a grill pan.
Yes, seitan or any vegan chicken substitute would work very well in this recipe. Marinate it and bake it as you would the tofu.
Because I use cashew cream and not coconut milk to make this vegan butter chicken. Many vegan butter chicken recipes across the web use coconut milk and while that will result in a curry that tastes okay, it just doesn't taste authentic. Coconut milk has an assertive flavor that's wonderful in southern and western Indian food. But it is all wrong in north Indian dishes like butter chicken (more on how to correctly veganize Indian recipes here). If you are still making vegan butter chicken with coconut milk your version very likely tastes nothing like it should. If you are nut-free, use pumpkin seeds or melon seeds to make the cream.
Yes, try this easy Instant Pot vegan butter chicken that needs less hands-on time.
Scoop up the vegan butter chicken with a north Indian bread like vegan naan or aloo kulcha! If you have the grill going, make this grilled vegan naan. I often serve this vegan butter chicken with a simple, homemade roti or with plain basmati rice, or jeera rice.
Refrigerate up to four days. Freeze for up to three months. Reheat on the stovetop until warmed through.











Daisy CJ says
Sounds so good! Can the tomato onion sauce be used here in place of the tomatoes and onions in the recipe?
Ava says
Forgot to rate and give it 5 stars!
Ava says
This was the most delicious dish I have ever made! The sauce was sublime!
Vaishali says
Awesome! So happy to hear that, Ava. Thanks for the comment - and the recipe rating. ๐ โค๏ธ
Kris says
Could I use medjool dates instead of maple syrup? If so, how many do you think would work best? Thank you. ๐ Looking forward to trying it.
Vaishali says
Hi Kris, you can, but you need to blend them into a smooth paste. I would say no more than two dates--you can add a bit of the paste, taste, and add more if needed. You don't want the butter chicken to taste sweet, but it should take the edge off the tangy and spicy flavors.
Faye Morley-Vaughan says
I made your Tofu Makhani yesterday and it was absolutely delicious so I can't wait to make this butter tofu. Can you tell me what you use to strain the mixture once it's been blended? Would a standard metal strainer be ok or should I use muslin/cheesecloth?
Vaishali says
Hi Faye, so happy you loved the makhani. Just use a regular metal strainer. You can also just blend the sauce really fine and skip the straining.
Natalie says
I don't think I've ever eaten a dish this delicious.
Vaishali says
Yay! So happy to hear that, Natalie. โค๏ธ
Bet says
This was simply divine. I can't say enough. It's going into our regular rotation. I never thought cooking Indian food would be this easy and that I could make something so delicious.
Vaishali says
So happy you loved it, Bet.
Arden says
Thanks so much for this adaptation of a classic . Did you perhaps forget to mention that you should remove the whole cardamom etc before blending it , as otherwise this will result in a bitter taste .?
Vaishali says
Hi, no need to remove the cardamom--it won't taste bitter.
Ute says
Very very delicious! Next time I will definitely prepare the sauce in advance. It took me forever to strain it. Maybe my strainer is too fine. We had Jeera rice and spinach with it.
Vaishali says
Hi Ute, so happy you made it! Yes, the straining can be difficult if the strainer is too fine--it doesn't need to be, you just want any leftover bits of spices and tomato skins strained out. You can skip the straining altogether but the sauce won't be as silky. Still, it will be delicious.