This vegan butter chicken recipe is just as creamy, flavorful, and cravable as a classic butter chicken dish, but it's plant based! Easy to make with baked tofu smothered in a luxurious, tomato cream curry sauce - the flavors are guaranteed to knock your socks off!

This recipe is my twist on the wildly popular Indian dish: Butter Chicken. I'm obsessed with the rich, silky tomato cream curry sauce - it's SO luscious and decadent. Of course, there's no chicken in this vegan version, instead the protein comes from oven baked tofu. The combination of flavors and textures is irresistible! Don't forget the naan to sop up every last drop of that epic butter chicken sauce!
Finally, a vegan and gluten-free version of butter chicken that's easy enough for weeknight dinners, impressive enough for a dinner party, popular enough to serve at potlucks, holiday meals, and family get togethers, and meaty enough for game day! Make ahead friendly, super flavorful, and everyone loves it (I think you will too)!
Tofu Butter Chicken Ingredients
Vegan, vegetarian, and plant based butter chicken lovers, rejoice! This smothered vegan butter chicken is an easy, high protein, gluten free, and super comforting meal. Here's what you'll need:

For the Tofu
- Tofu: I use tofu as the chicken substitute. I like extra firm tofu, but firm tofu will work as well. Firm tofu may need to be pressed for 15-20 minutes before using.
- Plant based, plain yogurt (or vegan mayonnaise): Adds tanginess and helps keep the tofu juicy and succulent in the middle and the spices sticking to the outside crust.
- Vegan chicken bouillon powder or nutritional yeast: Adds a familiar savory flavor to the baked tofu. (Optional if you have some on hand, but not essential.)
- Salt and pepper: To make all the flavors pop!
- Oil: Just a little bit for mouthfeel and richness.
- Cornstarch: Creates a crust to lock in the flavors when baking the tofu.
For the Butter Chicken Seasoning
Every butter chicken recipe varies when it comes to the exact blend of spices to create that signature Indian curry flavor we all expect. Here's what I use (but you can customize to suit your taste):
- Ground spices: Coriander, cumin, cayenne, and garam masala (an aromatic Indian spice blend).
- Turmeric: Adds color and a bitter note - so not too much!
- Kashmiri chili powder: Medium hot Indian chili powder for heat and the bright signature color of butter chicken sauce (optional).
- Kasoori methi: Probably the most unusual ingredient, but dried fenugreek is what gives butter chicken its distinctive flavor. You can find it at major grocery stores in the international aisle or order it online. Worth seeking out IMO!
For the Butter Chicken Sauce
There's a ton of flavor in the sauce! Here are the ingredients you'll need to make the irresistible, creamy tomato butter curry sauce:
- Canned crushed tomatoes: My favorite is Mutti finely chopped tomatoes, but any canned crushed tomato will work.
- Tomato paste: Boosts up the intense tomato flavor.
- Butter (dairy free) and oil: Adds richness, silky texture, and flavor.
- Vegan heavy cream: Adds rich, velvety creaminess without dairy!
- Aromatics: Diced onions, minced garlic and ginger build flavor in the sauce.
- Sweetener: Your sauce may need a pinch of sugar to balance the flavors - use coconut sugar, brown sugar or any sweetener of choice.
- Green cardamom pods: I add a couple if I have some on hand.

To Serve
- Fresh lime (to cut through the richness of the sauce and balance the flavors), chopped cilantro (for freshness), rice (for heft), naan bread (to sop up all the saucy bits!).
Substitutions
- Protein swaps: Other good vegan or vegetarian substitutes for the chicken include chickpeas or a white bean of choice and roasted cauliflower florets, soy curls or a commercial vegan chicken product like Gardein or Beyond.
- Coconut milk vs. cashew cream: Both work beautifully! Coconut milk adds a subtle tropical sweetness, while vegan heavy cream is richer and has a more neutral flavor.
- Make it lighter: Use a lighter coconut milk or cashew milk instead of heavy cream.
- Spice blends: Sometimes in a pinch, I'll use a store-bought spice blend. I like MDH Curry Masala for Butter Chicken or Shan Butter Chicken Seasoning Mix.
Tofu Tip!
This is a saucy, smothered tofu recipe so the tofu is not crispy instead it has a beautiful seasoned crust with a juicy, succulent middle. Leftovers are incredible!
How to Make Vegan Butter Chicken
This is an easy and delicious Indian restaurant-style vegan butter chicken recipe. There are a few components to prepare so timing is everything. Here's how I manage the timing of this recipe so everything comes together at once:
- Start by making the rice and vegan heavy cream. Pro Tip: Both can be made several days in advance and stored in the refrigerator until needed.

- Prep the tofu: Cut the tofu into cubes or break it into bite-size pieces.
- Season the tofu: In this recipe, you'll flavor every layer and that starts with the tofu.
Toss the tofu with the tofu seasonings in a large bowl.

- Bake the tofu: Transfer the tofu to a prepared sheet pan and bake for ~20 minutes until the edges are golden and the tofu is succulent and meaty.

- Make the butter sauce: While the tofu is baking, saute the onions in the melted butter and oil until softened and translucent (~6-8 minutes). Don't rush this flavor-building step. Add the ginger and garlic and saute for another 60-90 seconds. Then add the spices (not the fenugreek) and cook for ~30 seconds more until fragrant.

- Add the remaining curry sauce ingredients (tomato paste, canned tomatoes, and vegan heavy cream). Stir together then transfer the tomato mixture to a high-powered blender and purée until smooth. Alternatively, you could use an immersion blender to blend the butter sauce until smooth and creamy.

- Finish the butter sauce: Pour the blended sauce back into the pan along with the fenugreek, baked tofu, and a glob of butter, a sprinkle of sugar, and a squeeze of lime juice. Simmer over low for ~8-10 minutes. Taste and adjust as needed (salt, pepper, sugar, lime juice, more garam masala, cayenne, etc.). Add splashes of water as needed to thin the sauce to suit your taste.
- To serve: Serve with rice, a wedge of lime, a sprinkle of chopped cilantro, and a side of naan.

Tips for Success
If you are new to cooking or you've got a busy weeknight, here's a few cooking tips I share with my kids (and friends) so cooking will be more enjoyable:
- Read through any new recipe before getting started: Make a grocery list as you review the recipe so you know all the ingredients needed before you start cooking.
- Customize the recipe: If you or your family don't like heat, and the recipe calls for a bunch of cayenne or sriracha, reduce or eliminate that ingredient. Same for any flavor ie. salty, sweet, tangy, spicy, etc. - this is your meal, you decide! You can always add more, but adding too much takes a bit more finesse to balance out.
- Mise en place in cooking terms means having all your ingredients and equipment gathered and ready to go which is super helpful for managing time and efficiency in the kitchen. Here are just a few examples for this recipe: Gather all the spices and your measuring spoons, grab all the aromatics and fresh herbs as well as cutting boards, sheet pan, grater, and a knife for chopping. Set them out on the counter.
- Make ahead/meal prep: I recommend taking advantage of any make-ahead components if you know you'll be tight on time one night for dinner.
For this recipe, the butter chicken sauce can be made a few days ahead and stored in the fridge.
The vegan heavy cream can be made several days in advance and stored in the fridge. You can also freeze the heavy cream in ice cube trays (just over 1 tablespoon per cube). Once frozen, transfer them to a freezer bag and store for up to several months. The heavy cream cubes can be used from frozen in soups, stews, and sauces - super convenient!
When I make rice, I always make a double batch in the rice cooker and freeze half for those days when I'm pressed for time.
Serving Suggestions
Just like other popular Indian dishes like Vegetable Korma and Chana Masala, this succulent vegan butter chicken is delicious served on rice with a side of buttery naan for dipping and scooping. If you prefer cauliflower rice or quinoa, sub one of those in for the rice.
Leftover tofu butter chicken is incredible on a baked potato, served over butter beans, pizza or fries with all the toppings.
Storage
- Refrigerator: Store leftovers in an airtight container in the fridge for up to 4 days. The flavors get even more delicious (if that's possible)!
- Freezer: The butter chicken sauce freezes beautifully for up to 2-3 months. Store in freezer-safe containers or bags.
- Reheating: Reheat on the stove or in the microwave.

More High Protein Vegan Meals
If you love a super satisfying, craveable meal with epic flavors and textures, here's a few more popular, high protein vegan recipes to try next:
- The Ultimate Vegan Gyros: Made with shaved tofu and mushrooms, lots of veggies, and a totally addictive sauce! My current favorite!
- Crispy Black Bean Tacos: One of the most popular recipes on the blog! Quick & easy!
- Epic Tofu Tacos: The tofu is killer (super fast & easy), the toppings are perfection!
- Lentil Bolognese: So many 5 star reviews! "Better than I had in Italy!"
- Tofu Noodle Bowl with spicy peanut sauce: A family favorite ready in 30 minutes!
Enjoy! If you make this vegan butter chicken recipe, please leave a comment below and give the recipe a star rating! Thank you so much. Plus if you snap a photo, tag #ceeceecooks on Instagram!

Epic Vegan Butter Chicken with Baked Tofu
Rate this recipe!
INGREDIENTS
For the Tofu Chicken
- 14 ounces extra firm or firm tofu, cut or torn into 1" cubes
- 2 tablespoons yogurt or mayo (tangy)
- ½ teaspoon garam masala
- ¼ teaspoon salt
- ½ teaspoon black pepper, coarse ground
- 1 teaspoon oil
- 2-3 teaspoons nutritional yeast (optional)
- 1 - 2 tablespoons cornstarch
Vegan Butter Chicken Sauce
- 2 tablespoons butter, non dairy
- 1 tablespoon oil
- 1 medium onion, diced
- 3 green cardamom pods (optional)
- 1" piece fresh ginger, grated
- 4-5 cloves garlic, minced
- 1 tablespoon garam masala
- 2 teaspoons ground coriander
- 1 teaspoon ground cumin
- ⅛ teaspoon turmeric
- ¼ teaspoon cayenne
- 1 teaspoon kashmiri chili powder (optional)
- ½ - 1 teaspoon salt (more or less to taste)
- 1 ⅔ cups crushed tomatoes (400 grams, 14 oz)
- ¼ cup tomato paste
- ¾ - 1 cup vegan heavy cream (or full fat coconut milk)
- 1-2 teaspoons kasoori methi (dried fenugreek leaves)
- 1 tablespoon dairy free butter
- 1 tablespoon brown sugar (optional)
- 1 lime
- ½ cup water (more or less as needed)
To Finish
- 2 cups cooked basmati rice
- ¼ cup fresh cilantro, chopped
- 2-4 pieces naan (optional - but not really)
INSTRUCTIONS
- Prep the tofu: If you have extra firm tofu (in the vacuum pack), just drain it, wrap it in a few paper towels, and gently squeeze. Then cut/tear the tofu into bite-size pieces (~1").
- Make the rice: Make your rice in the Instant Pot, rice cooker or on the stove following the package directions. OR use microwave or pre cooked rice if you prefer.
- Vegan heavy cream: If using the vegan heavy cream (recommended!), make that now or use canned coconut milk. Set aside until ready to use.
- Season the tofu: In a large bowl, stir together the yogurt, garam masala, salt and black pepper, oil, nutritional yeast (if using), and 1 tablespoon cornstarch. Add the tofu chunks and toss to completely coat. If the tofu is sticky, add the rest of the cornstarch and toss to incorporate.
- Baking the tofu: Preheat the oven to 400º F. Arrange the tofu pieces on a parchment lined baking sheet (sprayed with cooking spray) and bake for 12 minutes. Flip the tofu and bake for another 6 minutes. Remove from the oven and set aside.
- Make the sauce while the tofu bakes: Heat the butter and oil over medium heat in a Dutch oven or large saute pan. Add the onions and cardamom pods (if using) - sauté, stirring until the onions are softened and translucent (~6-7 minutes). Stir in the ginger and garlic and saute for 60-90 seconds then add the spices (except fenugreek) and let them roast until fragrant (~30 seconds).
- Blend the sauce: Stir in the remaining curry sauce ingredients (tomato paste, canned tomatoes, and vegan heavy cream). Stir together then transfer the tomato mixture to a stand blender and process until smooth. Or use an immersion blender.
- Simmer the sauce: Pour the sauce back into the pan, add the fenugreek leaves and a tablespoon of butter. Taste the sauce: Add a sprinkle of sugar, the lime juice, more salt and pepper to taste. If you want a richer sauce, add the remaining heavy cream. Too rich?: Add another squeeze of lime. For more heat, bump up the cayenne. ADD in the baked tofu and let simmer for 10 minutes.
- If the sauce is too thick for you, add water a tablespoonful or two at a time until desired consistency. To make the sauce thicker, let it simmer for a bit longer (no lid).
- To serve: Scoop the tofu and butter sauce onto a bed of rice. Top with a sprinkle of chopped cilantro, a wedge of lime, and naan bread on the side.
NOTES
- Pan Frying: Heat 1 tablespoon oil over medium-high heat in a large skillet until shimmering. Add the seasoned tofu in a single layer and let it sit undisturbed for 2-3 minutes to develop a golden crust before flipping and repeating on the other side.
- Air Frying: Spray the air fryer basket with cooking spray, add the seasoned tofu and cook at 370°F for 6-8 minutes. Shake the basket so the tofu cooks evenly, then cook another 2-3 minutes until golden.






Molly
This butter chicken is really delicious. We love the flavors and the texture is amazing. Thank you for such a delicious and comforting vegan dinner recipe!
Tracy Halasz
I'm so happy you love this vegan butter chicken. It is a perfect dinner for Fall and winter! Thank you so much for the great review.