Butter Tofu (Vegan Butter Chicken)
A rich, creamy vegan take on classic butter chicken that uses crispy pan-fried tofu in a spiced tomato-coconut sauce. It's comfort food with deep, mellow spices and a glossy, buttery finish — perfect for weeknights or casual dinner guests.

Ingredient Spotlight
Extra-firm tofu (pressed and cubed)
A dense form of tofu made from coagulated soy milk that’s been pressed to remove most moisture so it holds shape and browns well; it comes from East Asian cuisines and is commonly used in stir-fries and braises. It has a very mild, slightly beany flavor and readily absorbs marinades and sauces. Find it in the refrigerated produce/vegetarian section or at Asian markets; if unavailable, substitute firm tofu that’s been well-pressed, tempeh, or seitan for a chewier texture.
Ingredient Spotlight
Tomato puree (or passata)
Passata (tomato purée) is sieved raw or lightly cooked tomatoes—an Italian pantry staple—with a smooth texture and bright, fresh tomato flavor without chunks or added seasonings. It’s thinner than tomato paste and more concentrated than canned crushed tomatoes, giving a clean tomato base for sauces and curries. Look for bottles labeled passata or tomato purée in the canned goods or Italian aisle; you can substitute blended canned tomatoes strained briefly, canned crushed tomatoes, or diluted tomato paste if needed.
Ingredient Spotlight
Garam masala
Garam masala is a warm, aromatic spice blend from the Indian subcontinent typically containing spices like coriander, cumin, cardamom, cinnamon, cloves, and nutmeg; blends vary regionally and by cook. It smells fragrant and sweet-warm rather than hot, and is often added at the end of cooking to perfume a dish. Find it in the spice aisle or at Indian/Asian markets, or substitute a pinch of curry powder in a pinch or make a simple mix of ground cumin, coriander, cinnamon, and a pinch of cloves/cardamom.
(paid link) — as an Amazon Associate we earn from qualifying purchases.
Jake Woods's note
"This recipe turns humble tofu into a silky, saucy centerpiece that everyone will love — creamy enough for special occasions but quick enough for a weeknight. Pressing the tofu and browning it well gives the best texture contrast with the rich sauce."
About This Recipe
Butter Tofu is my weeknight answer to the irresistible comfort of butter chicken — all the glossy, mellow spice and creamy richness, but plant-based and faster. The magic is in texture contrast: extra-firm tofu, pressed and pan-seared until its edges go deep golden, meets a tomato-forward sauce smoothed with full-fat coconut milk and a hit of vegan butter for that silky sheen. A small, well-balanced ground-spice blend—garam masala for warmth, smoked paprika for depth, turmeric for color and a touch of chili for lift—keeps the sauce layered without overwhelming the clean tofu pockets.
This version works because it focuses on technique more than complexity: dry the tofu well, brown it without crowding, bloom the spices in butter-soaked onions, then gently coax creaminess from coconut milk rather than forcing heavy creams. It’s flexible — satisfying for meat-eaters, simple enough for busy cooks, and forgiving for experimenters who want to add roasted cauliflower or quick-pickled onions. Serve it when you want something that feels indulgent but comes together in under an hour and scales easily for casual dinner guests or a cozy two-person night in.
Ingredients for Butter Tofu (Vegan Butter Chicken)
- 14 oz Extra-firm tofu (pressed and cubed)
- 2 tbsp Neutral oil (vegetable, canola, or sunflower)
- 3 tbsp Vegan butter
- 1 medium Medium yellow onion, finely chopped
- 3 cloves Garlic, minced
- 1 cup Tomato puree (or passata)
- 1 cup Full-fat coconut milk
- 1 tbsp Ground spice blend (garam masala, smoked paprika, turmeric, chili powder, salt)
- 2 tbsp Fresh cilantro, chopped (for garnish)
🛒 = paid link — as an Amazon Associate we earn from qualifying purchases.
How to Make Butter Tofu (Vegan Butter Chicken)
Step 1: Press and cube the tofu
Wrap the block of extra-firm tofu in clean kitchen towels or paper towels and place a weighted plate on top for 15–20 minutes to press out excess water. Unwrap, cut into 1-inch (2.5 cm) cubes, and pat dry — removing moisture is key to getting a crisp exterior.For this step
- 14 ozExtra-firm tofu (pressed and cubed)
Step 2: Pan-fry the tofu until golden
Heat a large nonstick or cast-iron skillet over medium-high heat and add the neutral oil. Arrange tofu cubes in a single layer and fry without moving for 3–4 minutes, then turn and brown on all sides until deeply golden and slightly crisp, about 8–10 minutes total. Transfer tofu to a plate and set aside.For this step
- 2 tbspNeutral oil (vegetable, canola, or sunflower)
Step 3: Build the spiced tomato base
Lower heat to medium and add the vegan butter to the same skillet. Once melted, add the finely chopped onion and cook until soft and translucent, about 5–6 minutes. Stir in the minced garlic and the ground spice blend and cook for 30–60 seconds until fragrant, then pour in the tomato puree and simmer, stirring occasionally, for 6–8 minutes to reduce and concentrate the flavors.For this step
- 3 tbspVegan butter
- 1 mediumMedium yellow onion, finely chopped
- 3 clovesGarlic, minced
- 1 cupTomato puree (or passata)
- 1 tbspGround spice blend (garam masala, smoked paprika, turmeric, chili powder, salt)
Step 4: Finish the sauce with coconut milk
Pour the coconut milk into the tomato mixture and bring to a gentle simmer. Cook 4–6 minutes until the sauce is smooth and slightly thickened; for an extra-silky texture, use an immersion blender to puree the sauce directly in the pan or transfer to a blender and pulse until smooth (careful with hot liquids).For this step
- 1 cupFull-fat coconut milk
Step 5: Combine tofu and finish
Return the browned tofu to the sauce, gently spooning it to coat. Simmer 2–3 minutes so the tofu absorbs the sauce; taste and adjust seasoning (salt, a squeeze of lemon, or a pinch of sugar if desired). Stir in most of the chopped cilantro, reserving a little for garnish.For this step
- 2 tbspFresh cilantro, chopped (for garnish)
Step 6: Serve
Spoon the butter tofu into shallow bowls or a serving dish, garnish with the remaining cilantro, and serve hot with steamed basmati rice, naan, or your favorite grain. Each serving is about 1 serving (about 350g).
- Wrap the block of extra-firm tofu in clean kitchen towels or paper towels and place a weighted plate on top for 15–20 minutes to press out excess water. Unwrap, cut into 1-inch (2.5 cm) cubes, and pat dry — removing moisture is key to getting a crisp exterior.
- Heat a large nonstick or cast-iron skillet over medium-high heat and add the neutral oil. Arrange tofu cubes in a single layer and fry without moving for 3–4 minutes, then turn and brown on all sides until deeply golden and slightly crisp, about 8–10 minutes total. Transfer tofu to a plate and set aside.
- Lower heat to medium and add the vegan butter to the same skillet. Once melted, add the finely chopped onion and cook until soft and translucent, about 5–6 minutes. Stir in the minced garlic and the ground spice blend and cook for 30–60 seconds until fragrant, then pour in the tomato puree and simmer, stirring occasionally, for 6–8 minutes to reduce and concentrate the flavors.
- Pour the coconut milk into the tomato mixture and bring to a gentle simmer. Cook 4–6 minutes until the sauce is smooth and slightly thickened; for an extra-silky texture, use an immersion blender to puree the sauce directly in the pan or transfer to a blender and pulse until smooth (careful with hot liquids).
- Return the browned tofu to the sauce, gently spooning it to coat. Simmer 2–3 minutes so the tofu absorbs the sauce; taste and adjust seasoning (salt, a squeeze of lemon, or a pinch of sugar if desired). Stir in most of the chopped cilantro, reserving a little for garnish.
- Spoon the butter tofu into shallow bowls or a serving dish, garnish with the remaining cilantro, and serve hot with steamed basmati rice, naan, or your favorite grain. Each serving is about 1 serving (about 350g).
Butter Tofu (Vegan Butter Chicken) Tips
Press tofu thoroughly
Pressing for at least 15–20 minutes removes water so cubes brown instead of steam; pat them dry again right before frying for the best crust.
Don’t crowd the pan
Cook tofu in a single layer with room between pieces so each side can form a deep golden crust; work in batches if necessary.
Bloom spices in fat
Add the ground-spice blend to the melted vegan butter and softened onions for 30–60 seconds to wake up aromatic oils and avoid gritty raw spice flavors.
Use full-fat coconut milk
Full-fat coconut gives the glossy, buttery mouthfeel this dish needs; thin varieties will taste watery and separate more easily.
Finish with acid
A squeeze of lemon or a teaspoon of vinegar at the end brightens the sauce and balances the richness without changing the creamy texture.
Butter Tofu (Vegan Butter Chicken) Variations and Substitutions
Crispy oven-baked tofu
Toss cubed tofu in a little oil and cornstarch, then bake at 220°C/425°F until golden for an easier hands-off alternative to pan-frying.
Cashew cream swap
For a coconut-free option, blend 3/4 cup soaked cashews with 1/4–1/2 cup water to a smooth cream and stir into the tomato base in place of coconut milk.
Veggie-forward mix
Add roasted cauliflower florets or sautéed spinach and peas to the sauce in step 5 for more texture and bulk without losing the dish’s character.
Smoky char tomato
Roast or char the tomato puree briefly on high heat or over a flame before adding to the pan for a deeper, slightly smoky finish.
How to Store and Make Butter Tofu (Vegan Butter Chicken) Ahead
Store leftovers in an airtight container in the refrigerator for up to 3–4 days; the sauce will thicken and the tofu will soften over time. Reheat gently on the stovetop over low heat with a splash of water or coconut milk to loosen the sauce and avoid rubbery tofu; microwave in short bursts, stirring between, if needed. You can freeze the sauce (without tofu) for up to 2 months, then thaw and add freshly browned tofu when reheating for best texture.
What to Serve With Butter Tofu (Vegan Butter Chicken)
Serve with steamed basmati rice or cumin-scented jeera rice and warm naan or paratha to mop up the glossy sauce; a scatter of chopped cilantro and a lemon wedge add immediate brightness. For drinks, pair with a crisp, off-dry Riesling or a citrusy IPA, and offer a simple cucumber-tomato salad or quick mango chutney to cut the richness.
Butter Tofu (Vegan Butter Chicken) FAQs
My tofu turned out soggy — what went wrong?
Most likely it wasn't pressed or patted dry enough, or the pan was overcrowded and the pieces steamed. Press longer, dry cubes thoroughly, and fry in a single layer over medium-high heat to build a crust.
Can I make the sauce ahead?
Yes — the tomato-coconut sauce keeps very well in the fridge for 3–4 days and can be frozen for about 2 months; reheat and add freshly crisped tofu so it keeps its texture.
How do I prevent the coconut milk from splitting?
Bring the sauce to a gentle simmer rather than a hard boil, stir frequently, and finish over low heat; if it looks grainy, a quick blitz with an immersion blender will re-emulsify it.
Can I use silken or firm tofu instead?
Extra-firm is best because it crisps and holds shape; firm tofu can work if pressed well, but silken will fall apart and become too soft for pan-frying.
How can I make this less spicy for kids?
Reduce or omit the chili powder in the spice blend and emphasize smoked paprika and garam masala instead; add a small pinch of sugar or a squeeze of lemon at the end to balance flavors without heat.
About the author
Jake WoodsHello, I'm Jake. I started this recipe site with the idea that I hated recipe websites that overwhelm you with long stories and ads just to see plain content that's not helpful. My goal is to provide you with quality recipes, simple ideas and a fun cooking experience. There's lots of fun things to cook, and I think as you browse the site you'll find that TopShelf.Recipes is the place for quality recipes on the web.
See all recipes by Jake Woods →Ratings & Reviews
Did you make this recipe?
Be the first to share your experience.
Nutrition Facts
Per serving: 1 serving (about 350g)
Nutrition values are estimated from USDA ingredient data and may vary based on preparation, brands, and portion sizes. Values are provided for informational purposes only.
Keep Reading
Guides & articles for this recipe
Recipes
DIY Edible Monster Eyes Candy
Make safe, fun edible monster eyes for cupcakes, cookies, and candy trays. Step-by-step recipes show baking-soda balls, chocolate and fondant eyes, wafer-print options, plus assembly, storage, and kid-friendly safety tips.
Recipes
No-Bake Funny Halloween Treats: 15 Quick Recipes
15 no-bake, funny Halloween treats that busy hosts can assemble in minutes — kid-friendly sweets, savory bites, and easy cocktails that don’t need an oven. Built for last-minute parties, with pantry-staple shortcuts and quick decoration ideas.
Guides
Nutrition for Youth Athletes
Practical, age- and sport-specific nutrition guidance for kids and teens who play sports. Covers calories, macronutrients, hydration, male/female differences, and easy meals and snacks.
More from General
View all General recipes →Fresh Raspberry Sugar Cookies
Fresh Strawberry Cheesecake Bites
Ermine Frosting
Perfect Scrambled Eggs
Dragon Fruit Salsa
Teriyaki Chicken
Panera Dupe Chicken Caprese Bowl
Authentic Mai Tai
Low-Fat Beef Bourguignon
Ask me anything about this recipe — substitutions, scaling, techniques, timing.
Powered by AI · 6 questions per 5 minutes, 30 per day