This is a tofu-based curry built around a blended tomato-coconut sauce spiced with garam masala, cumin, and turmeric. It tastes like a lot of effort and takes just over an hour — which makes it one of the better candidates for cooking once and eating well for several days.
The technique that matters
Two things determine whether this dish works or just tastes like spiced tomato soup with tofu floating in it. First, press the tofu properly — at least 20 minutes under something heavy — then pan-fry it until the outside is genuinely golden and firm before it ever touches the sauce. Soft, wet tofu turns to mush and won’t hold up through reheating. Second, bloom the dry spices in the vegan butter or oil for 30 to 60 seconds before adding any liquid. That short step drives off the raw, dusty edge and pulls out the fat-soluble compounds that give the sauce its depth. Skip either step and the dish is flat. Do both and the sauce clings to the tofu instead of pooling under it.
What can go wrong
- The sauce splits or looks greasy after blending. This usually means the heat was too high when the coconut milk went in. Add coconut milk off the heat or over low heat, and stir steadily. If it splits, a splash of water and a quick re-blend usually brings it back together.
- The tofu falls apart when you stir it into the sauce. It wasn’t fried long enough, or the pan wasn’t hot enough. The outside needs a dry, set crust — not just a little color — before it can hold its shape in a wet sauce.
- The sauce is too acidic and sharp. Crushed tomatoes vary a lot by brand. If yours are particularly tangy, the maple syrup in the recipe is your fix — add it in small increments and taste as you go rather than adding it all at once.
- Leftovers taste bland the next day. This is a salt issue, not a spice issue. Reheat gently, taste, and add a small pinch of salt before serving. The sauce thickens overnight and can mute the seasoning.
- The blended sauce is thin. Simmer it uncovered for an extra 5 minutes after blending before adding the tofu. It thickens quickly once the lid is off — skip the garnish and use that time here instead, it’s worth it.
Storage and reheating
Store the curry in an airtight container in the fridge for up to 4 days — the flavor actually improves on day two as the spices settle into the sauce. For longer storage, freeze in individual portions for up to 2 months; freeze the tofu and sauce together rather than separately, since the tofu texture changes either way and it’s easier to reheat as one unit. Reheat on the stovetop over medium-low heat with a splash of water to loosen the sauce, stirring occasionally until hot through. The microwave works in a pinch — cover the container loosely and use 60-second intervals, stirring between each, to avoid hot spots that can make the tofu rubbery.

Vegan Butter Chicken
Equipment
- Large non-stick skillet
- Blender or immersion blender
- Mixing bowls
- Tofu press or heavy object for pressing
Ingredients
For the Tofu Marinade
- 14 oz extra firm tofu pressed and cut into 1-inch cubes
- ½ cup unsweetened non-dairy yogurt coconut or soy-based preferred
- 1 tbsp lemon juice freshly squeezed
- 1 tsp garam masala
- ½ tsp smoked paprika
- ½ tsp sea salt
For the Butter Sauce
- 2 tbsp vegan butter or neutral oil
- 1 large yellow onion finely chopped
- 3 cloves garlic minced
- 1 inch fresh ginger peeled and grated
- 1.5 tsp ground cumin
- 1 tsp turmeric powder
- 14 oz crushed tomatoes preferably fire-roasted
- ½ cup full-fat coconut milk shaken well
- 1 tsp maple syrup optional, for slight sweetness
Instructions
- Marinate the tofu. In a medium bowl, combine non-dairy yogurt, lemon juice, garam masala, smoked paprika, and salt. Add cubed tofu and gently stir to coat evenly. Cover and refrigerate for at least 20 minutes while preparing the sauce.
- Prep the sauce base. In a large non-stick skillet over medium heat (about 350°F / 175°C), melt the vegan butter. Add chopped onions and sauté for 6–8 minutes until golden and fragrant. Add garlic and ginger and cook for 1–2 minutes, stirring constantly to prevent sticking.
- Add spices and tomatoes. Stir in cumin and turmeric. Toast for 1 minute, then pour in the crushed tomatoes. Let simmer for 10 minutes until the sauce deepens in color and thickens slightly.
- Blend the sauce (optional). For a smoother texture, transfer the sauce to a blender (or use immersion blender) and blend until smooth. Return to the pan.
- Add creaminess. Stir in coconut milk and maple syrup. Simmer uncovered for an additional 10–12 minutes on medium-low heat, stirring occasionally.
- Cook tofu. While sauce simmers, heat a separate non-stick skillet over medium-high heat. Lightly oil and pan-fry marinated tofu cubes for 6–7 minutes, turning until all sides are golden and slightly crisp.
- Combine and finish. Add tofu to the finished sauce and simmer for 5 more minutes, allowing flavors to meld.
Notes
- For extra richness, stir in a tablespoon of vegan butter just before serving.
- If you prefer less spice, reduce the garam masala and omit the smoked paprika.
- Paneer-style tofu (lightly pressed) gives a more authentic, chewy texture.
Nutrition
Frequently asked questions
Can I use a different protein instead of tofu?
Canned chickpeas are the most practical swap — drain and rinse them, then skip the marinade step and add them directly to the finished sauce to warm through. Tempeh also works well if you cube it small and pan-fry it the same way as the tofu, though it has a nuttier, denser bite that changes the texture of the dish.
Do I have to blend the sauce, or can I skip that step?
You can skip it, but the texture will be noticeably chunkier and the onion pieces will stay visible throughout. If you’re making a large batch and want consistent results across multiple servings, blending is worth the extra cleanup — an immersion blender directly in the pan keeps it simple.
Can I make the marinade and sauce ahead of time?
Yes — the marinated tofu keeps in the fridge for up to 24 hours before frying, and the blended sauce (without the tofu) keeps for 3 days. Having both prepped separately means you can finish the dish in under 15 minutes on a weeknight, since the longest steps are already done.
More plant-based recipes to try
- Crispy Indian Chickpea Waffles
- Autumn Comfort Curry Bowl
- Crispy Tofu Broccoli Stir-Fry
- Golden Curried Parsnip Soup
