This post contains affiliate links.
With zesty ginger and our homemade garam masala seasoning, this vegan butter chicken is the perfect quick weeknight Indian-inspired classic. Our easy method for preparing the tofu gives it the same taste and texture as chicken.

You might not know it yet, but tofu makes the perfect replacement for chicken because, when cooked right, the texture and shape mimic chicken. (Need proof? See my baked tofu nuggets and BBQ tofu!)
So, if you love Indian recipes like I do, I highly recommend you try this butter chicken with tofu! It’s a dinner recipe with firm tofu that comes together in under an hour and is packed with flavor.

My cozy go-to
After a long day skiing in the Colorado cold, this is the meal we always come home to. It’s rich, cozy, and layered with flavor—the kind of dinner that warms you from the inside out. I used my sensory science background to give the tofu that perfect chewy, chicken-like texture (tearing it by hand is key!). The sauce? Creamy coconut, punchy ginger, and garam masala that hits every warm, savory note. It’s comfort food with depth, and it never lasts long.

Reader rating
“This sauce is so delicious, I could drink it. It converted my tofu-hating husband!” —Priskilla
Key Ingredients
Most of these ingredients for this tofu curry can be found easily in the store. Jump to the recipe card for the measurements.
- Tofu: Firm tofu is crucial so that its texture can withstand the awesome butter sauce.
- Cornstarch: This helps the outside of the tofu become crispy.
- Spices: Adding a little curry powder and salt to the tofu helps to really layer on those flavors. For the curry, you’ll need garam masala, coriander seed, Kashmiri chili powder, cumin, and salt. If you don’t have Kashmiri chili powder, you can substitute sweet paprika and cayenne pepper.
- Aromatics: Yellow onion, ginger, and garlic! While I don’t recommend powdered ginger or garlic, you can use pre-minced ginger and garlic.
- Coconut Milk: Grab full-fat coconut milk for the most decadent vegan sauce. This variety is usually found in a can near the Asian items in the store.
- Tomato Paste: Tomato adds a natural sweetness and slight acidity to cut through the fat from the coconut milk and oil.
Know Your Spices
Garam masala vs curry powder–what’s the difference? Curry powder has lots of turmeric in it, giving it that stark orange/yellow color, while garam masala is much more flavorful. They each offer specific flavor profiles to this butter tofu!


Homemade Butter Tofu with Coconut Milk (Vegan)
Ingredients
Crispy Tofu
- 2 14-oz blocks firm tofu
- 2 Tbsp cornstarch
- 1 tsp each curry powder and salt
Vegan Butter Chicken Sauce
- 2 Tbsp coconut oil, or any oil you have on hand
- 1 medium yellow onion, finely diced, about 1 ½ cups
- 1 Tbsp freshly grated ginger
- 4 cloves garlic, minced
- 1 Tbsp garam masala
- 1 tsp ground coriander seed
- 1 tsp kashmiri chili powder, or use ¾ tsp sweet paprika and ¼ tsp cayenne
- ½ tsp each salt and cumin
- 1 13-oz can full-fat coconut milk
- 1 6-oz can tomato paste
- To serve: basmati rice and naan
Instructions
- Rice: If you'll be serving this with rice, start that now, and cover to keep warm when finished.
- Prep Tofu: Preheat oven to 425°F (218°C). Drain the 2 14-oz blocks firm tofu then wrap it in clean towels and set something heavy on it for 20 or so minutes (if you have a tofu press, use that). Pat dry and tear into bite-sized chunks.In a large bowl, combine 2 Tbsp cornstarch and 1 tsp each curry powder and salt. Toss in the tofu, gently stirring to evenly coat.
- Bake: Arrange tofu on a greased baking sheet and cook for 25 to 30 minutes, flipping each piece halfway through cooking. You can leave the tofu in longer for a chewier finished texture.
- Onions: Meanwhile, heat 2 Tbsp coconut oil in a large saute pan or pot over medium heat. Add 1 medium yellow onion (finely diced) and cook, stirring often, until onion is soft and translucent, about 10 minutes.
- Flavor Base: Stir in 1 Tbsp freshly grated ginger and 4 cloves garlic (minced) and continue cooking for 1 minute. Stir in 1 Tbsp garam masala, 1 tsp ground coriander seed, 1 tsp kashmiri chili powder, and ½ tsp each salt and cumin.
- Sauce It: Stir in 1 13-oz can full-fat coconut milk and 1 6-oz can tomato paste. Cover and gently simmer for 15 minutes, stirring occasionally, to reduce the acidity from the tomato paste. It will be dark orange when done. Optionally blend your sauce (either with a handheld immersion blender or by carefully transferring to a counter top blender – never put the lid on tightly when blending hot liquids, leave it slightly cracked to allow steam to escape!)
- Serve: Spoon crispy tofu into the sauce and serve warm with naan and rice.
Notes
Nutrition
Nutrition information calculated by Sarah Bond, degreed nutritionist.
If you aren’t already rummaging through your pantry for the ingredients for this vegan butter chicken, here are a few more reasons why it works so well!
- Torn tofu really makes all the difference in texture and appearance!
- You can meal prep the sauce and serve it with tofu, roasted cauliflower or anything else that sounds good!
- Everyone loves this dish even if they have never had Indian food. It has the perfect combination of comforting and exciting flavors to keep you coming back bite after bite.
Serve It With
Butter chicken can be paired with many staple side dishes. Here are a few of my favorite ways to serve it.
- With Rice: Serve it over warm jasmine rice.
- Add a Dipper: Add a side of fresh naan bread for dipping.
- Veggies: Pair it with roasted vegetables for more colors of the rainbow on your plate!























Why is the fat and sodium so high in this recipe?
From the oil, coconut milk, and salt. Feel free to use reduced-fat coconut milk and reduce the amount of salt if your diet requires it!
OMG, this was so dang delicious! It is definitely going in my rotation. I will probably prep all the things I can ahead of time because this took me a bit longer than I liked, but it was very worth it!
This is the first recipe I’ve ever tried of yours (found you on TikTok) and it was awesome! I cooked this for my parents, and my dad who isn’t fond of tofu and dislikes a lot of Indian food asked me to make it for him again. I’m on a journey to convince him that tofu is a wonderful, versatile food and this helps with that 🙂 I’m so excited to try more of your recipes!
Thanks for making my day with your comment! Happy cooking!
This is an amazingly tasty recipe! My son took one bite, he’s a card carrying meat eater, and ask how I got the chicken so tender. Ha! I didn’t have the Kashmiri chili powder so I subbed the paprika and cayenne, which put the spice range right at the top of my tolerance level. However, both my husband and my son didn’t think it was spicy at all. Still, I do the cooking so I’ll probably leave the pepper out next time. Thanks for another great recipe!
Thrilled you loved it, thanks for the review!
Really needed butter tofu tonight but didn’t know how to make it vegan
( usually vegetarian ). By shear luck found this recipe and it exceeded my expectations. We LOVED it!!!!
I tweaked it a bit by using more spices because we enjoy stronger flavours, but for most folks your recipe would be perfect
You’re the best, thanks for the feedback!
Absolutely loved this recipe. Blending the sauce prior to serving is key to make it both look and taste like authentic Butter Chicken – my family could not believe how good it was or how much the tofu actually seemed like chicken. One note though is that this recipe took me over 90 minutes to prepare (the tofu alone took double the amount of baking time to resemble chicken texture). Well worth the wait though!
Yay!! So happy to hear it was a hit 🙂
The Butter sauce was awesome! I air-fried the torn tofu, and that worked perfectly with the recipe. Sometimes when I make this, I fold in some chopped spinach to green it up a little. Lastly, I used lite coconut milk to allow the sauce to permeate a bit more. I also bought your cookbook when it was released, and I refer to it, and/or your website quite often. Cheers!
I’m thrilled to hear you’ve been loving the website and cookbook, Charles! Thanks so much for leaving such a thoughtful review 🙂 Happy eating!