Cozy and comforting, this delicious Butter Tofu (aka Vegan Butter Chicken) is aromatically spiced with a luscious tomato-coconut sauce. Plant-based and gluten-free.

This butter tofu is comforting, cozy, and warming. A healthy, plant-based Indian dinner ready in about an hour. Serve it up with basmati rice, spinach, naan, or a baked sweet potato.
Every so often, I feel a deep yearning for India. I miss the colorful, beautiful chaos-the sounds, the scents, and the feeling of love and devotion that seems to permeate the air. There's something about that place I can't quite explain, but it calls to me again and again. When the longing sets in, I find comfort in sorting through my Indian spices and creating an Indian meal transporing myself there.
Why You’ll Love This Butter Tofu
Tonia‘s recipe for Butter Tofu has amazing flavor and features a unique way to prepare tofu- it is torn into pieces for an elevated texture, then baked until slightly crispy. While it bakes, make the fragrant Indian “butter” sauce, then simmer, combine, and serve. It’s a lovely meal ready in about an hour.
Ingredients

- Tofu: Use firm or extra-firm tofu for optimal texture.
- Coconut oil: Used as a plant-based substitute for butter to achieve a rich, creamy coating.
- Shallot, garlic, and ginger: For savory, deep, aromatic flavor.
- Serrano chili: Optional, but adds a nice bit of extra heat. Sub other fresh chilies.
- Garam masala: It is easy to make your own! Try our homemade garam masala recipe.
- Other spices: Coriander, cumin, turmeric, paprika, and salt. If you’d like a spicier butter tofu, substitute the paprika with Kashmiri chili powder and cayenne.
- Tomato paste and crushed tomatoes: Help thicken the sauce and create a savory tomato base. Use canned tomatoes or chop fresh tomatoes.
- Vegetable broth: If not vegan, you can use chicken stock. Try making your own veggie broth or chicken broth for even deeper flavor.
- Dried fenugreek leaves: Use the leaves, not the seeds, adds an earthy, herby flavor. Also called Kasuri methi. Available at Asian markets or online.
- Coconut milk: Gives the sauce a deliciously rich and creamy texture!
- Lemon juice: Fresh lemon juice elevates the overall flavor, making it slightly tangy and vibrant!
Recipe Variations
- For more heat: Increase the spice level with more fresh serrano chiles. And instead of paprika, use Kashmiri chili powder and/or cayenne pepper.
- Coconut milk alternatives: Cashew cream, coconut or soy yogurt, or heavy cream can be used instead of coconut milk.
- Air-fryer tofu: Prep and season the tofu as instructed, then place it in the air fryer at 375°F for about 15 minutes.
- Stovetop Tofu: Slice and tear the tofu, then toss it with the spices and salt. Sear it in a hot oiled pan until crisp and golden on all sides. Let it develop an initial crust without disturbing it, then flip the pieces.
- Looking for Chicken? Here is our Authentic Butter Chicken (Murgh Makhani).
How to Make Butter Tofu
1. Prep the tofu. Preheat the oven to 425F. Drain the tofu and gently pat it dry. Slice the block of tofu into 1/2-inch slabs and then tear them into bite-sized chunks. Place the tofu in a bowl.
2. Season and bake the tofu. If you haven’t already, melt the coconut oil in a small saucepan. Drizzle it over the tofu and add the salt and garam masala. Toss to coat, then place the tofu on a parchment-lined baking sheet. Bake for 25 minutes.


3. Start the Sauce. Sauté the aromatics and bloom the spices. Add coconut oil (or ghee if not vegan) to a large heavy-bottom pot, large cast iron skillet, or Dutch oven and turn to medium-high heat. Once warm, sauté shallot, garlic, ginger, and serrano chili over medium heat, stirring for 2 minutes or until fragrant and golden. Add spices (garam masala, coriander, cumin, turmeric, paprika) and salt. Stir for another 2 minutes to bloom the flavor.


4. Simmer. To the pot, add tomato paste, broth, crushed tomatoes, fenugreek leaves, and coconut milk. Let simmer for 5-10 minutes. Tip: If you prefer an extra smooth sauce, use an immersion blender or transfer to a high-speed blender to create a silky texture. Stir in the tofu.
5. Taste and adjust. Taste the sauce and add more salt, spice, or a squeeze of lemon juice depending on your preference.
6. Serve. Serve over basmati rice or baby spinach with naan or roti and top with fresh cilantro and a lemon wedge.

How to Make Air Fryer Tofu
Prep and season the tofu as instructed, then place it in the air fryer at 375°F for about 15 minutes.
How to Make Fried Tofu on the Stovetop
Slice and tear the tofu, then toss it with the spices and salt. Sear it in a hot oiled pan until crisp and golden on all sides. Let it develop an initial crust without disturbing it before flipping the pieces.
Chef’s Tips
- Tear the tofu, don’t cube it. Tearing the tofu creates craggy edges that bake up beautifully golden and soak up more of the sauce.
- Bake the tofu first. Baking the tofu before adding it to the sauce concentrates flavor and adds a lightly crisp exterior that helps it hold its shape - so it doesn’t get lost in the creamy sauce!
- Bloom the spices. Take your time when sautéing the spices in oil. This step releases their full aroma and warmth. Keep the heat moderate so they toast, not burn.
- Use full-fat coconut milk for richness. For that signature butter chicken-style silkiness, full-fat coconut milk is essential. Light versions won’t deliver the same luxurious mouthfeel.
- Fenugreek is optional, but magical! If you have dried fenugreek leaves (kasuri methi), don’t skip them. Crushed between your palms, they add an unmistakable earthy depth that really elevates.
- Taste and adjust at the end. A squeeze of fresh lemon juice right before serving brightens the sauce. Taste and adjust salt, spice, and acidity - this is where the magic happens!
Serving Suggestions
- Serve over basmati rice, Indian lemon rice, or cauliflower rice
- For a low-carb version, serve over a bed of baby spinach
- Serve with naan or roti
- Serve with a side salad like Indian spinach salad or Indian carrot salad
Storage
Storage: Like many curries, Butter Tofu tastes even better the next day as the flavors meld. Store leftovers in an airtight container in the refrigerator for 3-4 days.
Freezing: The sauce freezes beautifully, but you may or may not want to freeze it with the tofu. Some people like the porous texture of frozen tofu - and it holds onto the sauce nicely! If you don’t care for the texture of frozen tofu, simply bake the tofu fresh, and thaw and reheat the sauce.
Reheating: Reheat gently on the stovetop, adding a splash of broth if needed.
FAQs
Substitute the coconut milk with cashew cream or soy yogurt, or if you’re not vegan, you can use heavy cream.
Kasuri methi are dried fenugreek leaves. These can be found at your local Indian market or Asian market. You can also order them online.
No, simply drain and pat the tofu dry. Pressing the tofu can actually make it too dry.
Yes! Blending the sauce is optional and depends on the texture you prefer.

If you enjoy this recipe, be sure to check out our 35+ Indian Recipes for our most popular Indian dishes!
More Tofu Recipes You Might Like
After you try this Butter Tofu recipe, let us know how it turns out in the comments below. Your review will help other readers, too! Sign up here to join our community and receive our latest recipes and weekly newsletter! xoxo Tonia
Vegan Butter Tofu Recipe
- Prep Time: 30 minutes
- Cook Time: 35 minutes
- Total Time: 1 hour 5 minutes
- Yield: 5 1x
- Category: vegan dinner, dinner idea, healthy dinner, tofu recipe, indian recipe
- Method: various
- Cuisine: Indian
- Diet: Vegan
Description
This butter tofu is comforting, cozy, and warming. A healthy, plant-based dinner ready in about an hour, you’ll love the authentic Indian flavors. Serve it up with basmati rice, naan, or over a baked sweet potato. Vegan & gluten-free.
Ingredients
Tofu
- 2 x 14–ounce blocks firm or extra firm tofu
- 2 teaspoons garam masala
- 1-2 tablespoons coconut oil, melted
- 1/2 teaspoon salt
Indian Butter Sauce
- 1/2 cup shallot, chopped small
- 2 tablespoons garlic, minced
- 1 tablespoon ginger, grated or minced
- 1 serrano chili, chopped (optional)
- 1 teaspoon garam masala
- 1 teaspoon ground coriander
- 1 teaspoon ground cumin
- 1/2 teaspoon ground turmeric
- 1 teaspoon paprika (or for spicier- 1/2 teaspoon Kashmiri chili powder or 1/4 teaspoon cayenne)
- 1 teaspoon salt (more to taste)
- 1 tablespoon tomato paste
- 1/2 cup vegetable broth (or chicken stock)
- 3/4 cup crushed tomatoes, canned or use fresh chopped tomatoes ( and juices)
- 1 teaspoon dried fenugreek leaves (optional, but elevates)
- 14-ounce can coconut milk
- fresh lemon juice to taste
Instructions
- Prepare tofu. Drain tofu and pat dry (we skip the pressing as it can make the texture of the tofu too dry). Slice the blocks into 1/2″ slabs and tear each slab into bite-sized chunks, place in a bowl.
- Bake tofu. Drizzle coconut oil over the tofu along with salt, and garam masala. Toss gently to coat. Lay tofu on a lined sheet pan and bake at 425°F for 25 minutes.
- Saute aromatics. Heat oil in a large heavy bottom pot or Dutch oven over medium-high heat. Add coconut oil or ghee, shallot, garlic, ginger, and serrano chili, reduce heat to medium to prevent burning, stirring frequently about 2 minutes until fragrant and golden. Add garam masala, coriander, cumin, turmeric, paprika and salt. Stir 1-2 minutes, to bloom the flavor of spices.
- Simmer. Stir in the tomato paste, broth, crushed tomatoes, fenugreek leaves, and coconut milk. Let simmer about 5-10 minutes. (Feel free to blend at this point for ultra smooth.) Add the tofu.
- Adjust flavor. Add salt, more spice or a squeeze of lemon juice if needed
- Serve over basmati rice, baby spinach, with naan or roti. Top with fresh cilantro and a wedge of lemon.
Notes
Store leftovers in an airtight container in the fridge for 3-4 days. You can freeze the sauce -but not tofu unless you prefer the porous texture of frozen tofu (some people do! It does hold on to sauce nicely).
Air fry tofu: follow instructions in step two, place in air fryer at 375°F for about 15 minutes. Fry tofu: toss tofu with spices and salt, sear in a hot oiled pan.
Increase spice with more fresh serrano chiles, use Kashmiri chili powder, or cayenne pepper.
Flavor booster- a squeeze of fresh lemon or lime will add a lot.
Alternatives to coconut milk– cashew cream or soy yogurt, or heavy cream.
Nutrition
- Serving Size: 1 cup
- Calories: 394
- Sugar: 4.6 g
- Sodium: 484.7 mg
- Fat: 31.6 g
- Saturated Fat: 20.9 g
- Carbohydrates: 14.4 g
- Fiber: 2.6 g
- Protein: 18.4 g
- Cholesterol: 0 mg













