If you’ve been searching for a dish that’s supremely comforting, packed with bold flavor, and completely plant based, your search ends here. This Vegan Butter Chicken, inspired by the classic Indian dish, swaps chicken for perfectly crispy baked tofu and bathes it in a velvety, spiced tomato coconut cream sauce. It’s the kind of dinner that makes you want to curl up on the couch with a cozy blanket and a big bowl of basmati rice.
I’m not exaggerating when I say this recipe is a game changer. For years, I thought the rich, tangy, and slightly smoky flavors of restaurant style Butter Chicken (or Murgh Makhani) were off limits without heavy cream and butter. But with a few clever plant based swaps, we can capture that same soul warming magic. The tofu is torn into jagged pieces that crisp up beautifully in the oven, mimicking the texture of chicken flawlessly, while a luscious sauce of coconut milk, tomato paste, and fragrant spices does the heavy lifting.
Let’s make a batch of the most irresistible vegan Indian food you’ve ever tasted, right in your own kitchen.
Why You’ll Love This Recipe
- Incredibly Flavorful: A robust blend of garam masala, curry powder, and fresh ginger creates an authentic, aromatic depth.
- Perfect Texture: Forget bland, spongy tofu! By pressing and baking it with cornstarch, we get golden, crispy edges that soak up the sauce perfectly.
- Weeknight Friendly: The entire dish comes together in about 40 minutes. While the tofu crisps up in the oven, you can multitask and make the one pan sauce on the stovetop.
- Better Than Takeout: It’s fresher, healthier, and you control the spice level. You might just forget about your local delivery spot.
The Secret to Perfect Tofu for “Butter Chicken”
The real star of this dish is the tofu preparation. We’re using two blocks of extra firm tofu, but the technique is what truly transforms it. After a quick press to remove excess water, don’t cut it into perfect cubes. Instead, slice the block and then use your hands to tear it into rough, medium large pieces. This creates craggy, uneven edges that get incredibly crunchy when baked. Toss those pieces in a simple mixture of olive oil, cornstarch, and salt, then spread them on a baking sheet. The oven does the rest, turning them into golden little flavor sponges ready for their creamy bath.
How to Make the Creamy Vegan Makhani Sauce
While the tofu bakes, we’ll build a sauce that’s the very definition of luscious. Start by sautéing a finely diced onion in vegan butter until it’s soft and translucent. Next, fresh garlic and ginger are stirred in until they’re wonderfully fragrant; this is the flavor foundation. Then comes the symphony of spices: garam masala, curry powder, ground coriander, and a pinch of cayenne pepper for a gentle warmth. Blooming these spices in the fat before adding liquids is a crucial step that unlocks their full potential.
Whisk in a generous amount of rich tomato paste and a full can of full fat coconut milk. This is where the magic happens. The sauce transforms into a silky, sunset hued masterpiece. Let it simmer and thicken for about 10 minutes, stirring often, until it can coat the back of a spoon. Once the tofu is perfectly crisp, fold it directly into the sauce, garnish with a shower of fresh cilantro, and dinner is served.
Serving Suggestions
I love ladling this Vegan Butter Chicken over a bed of fluffy steamed white or brown basmati rice to soak up every last drop of sauce. It’s absolutely mandatory to serve it with a side of warm, pillowy Easy Vegan Naan for dipping. A sprinkle of fresh, chopped cilantro adds a bright, fresh finish that cuts through the richness beautifully. For a full restaurant style spread at home, add a side of cooling cucumber salad or some roasted green beans.
Frequently Asked Questions
Can I make this oil free?
Absolutely. You can omit the olive oil from the tofu and the vegan butter from the sauce. For baking, use a silicone baking mat to prevent sticking. To sauté, simply use a few tablespoons of water or vegetable broth instead of the butter.
Is there a substitute for the tofu?
Yes! This sauce is incredibly versatile. It would be fantastic with roasted cauliflower florets or even chickpeas. Just follow the same principle: roast your veggie of choice until it’s golden and slightly crisped, then stir it into the finished sauce.
Can I use light coconut milk?
You can substitute light coconut milk, but the sauce won’t be as decadent, rich, and creamy. Full fat coconut milk provides that signature velvety texture that makes this dish so satisfying.
How do I store and reheat leftovers?
Store any leftovers in an airtight container in the refrigerator for up to 4 days. The sauce will thicken as it cools. Reheat gently on the stovetop over medium low heat, adding a splash of water or vegetable broth if needed to thin it out. The tofu will soften slightly but will still be delicious.

Vegan Butter Chicken
Ingredients
For the Tofu
- 2 16 ounce blocks extra firm tofu
- 2 tablespoons olive oil
- 2 tablespoons cornstarch
- 1/2 teaspoon salt
For the Sauce
- 2 tablespoons vegan butter
- 1 large onion diced small
- 1 tablespoon grated fresh ginger
- 2 cloves garlic minced
- 1 tablespoon garam masala
- 1 teaspoon curry powder
- 1 teaspoon ground coriander
- 1/4 teaspoon cayenne pepper
- 1 teaspoon salt
- 3 ounces tomato paste
- 1 13.5 ounce can full fat coconut milk
For Serving
- 4 cups cooked white or brown rice
- chopped fresh cilantro
- Easy Vegan Naan for serving
Instructions
Press the Tofu
- Wrap the blocks of tofu in paper towels. Place a plate or pan on top and weigh it down with a couple of heavy books or cans. Let the tofu press for 20 minutes. If using super-firm tofu, you can skip this step.
Bake the Tofu
- Preheat your oven to 400°F (200°C) and line a baking sheet with parchment paper. Slice each pressed tofu block into about 6 slices. Using your hands, tear each slice into medium large, craggy pieces. You can also cut them into cubes, but tearing gives a better texture.
- Add the tofu pieces to a large zip top bag along with the olive oil, cornstarch, and salt. Seal the bag and shake gently until the pieces are evenly coated. Arrange the tofu in a single layer on the prepared baking sheet. Bake for 25-30 minutes, or until golden brown and crispy.
Prepare the Sauce
- While the tofu bakes, melt the vegan butter in a large skillet over medium high heat. Add the diced onion and sauté for 3-4 minutes until softened. Add the grated ginger and minced garlic and cook for 1 more minute, stirring constantly, until fragrant.
- Stir in the garam masala, curry powder, ground coriander, cayenne pepper, and salt. Cook for 30 seconds to bloom the spices. Add the tomato paste and full fat coconut milk. Whisk until the sauce is completely smooth and combined. Bring the sauce to a simmer, then reduce the heat to medium low. Let it simmer for 5-10 minutes, stirring frequently, until it has thickened slightly.
Combine and Serve
- When the tofu is done baking, carefully add the crispy pieces to the skillet with the sauce. Gently stir to coat every piece. Serve immediately over cooked rice with a side of Easy Vegan Naan and a generous garnish of chopped fresh cilantro.















