This is a pan-seared tofu curry in a spiced coconut-tomato sauce — the kind of thing that tastes like it took all day but comes together in about an hour. It’s genuinely spicy, genuinely creamy, and works just as well on a Tuesday night as it does when you’re feeding guests. If you’ve never cooked plant-based before, this is a good place to start.
Why this recipe works
Two things make this recipe succeed where a lot of vegan curries fall flat. First, the tofu is marinated and then pan-seared before it ever touches the sauce. That step builds a lightly crisped exterior that holds up during simmering — skip it and you get soft, flavor-less cubes that disappear into the pot. Second, the onion, garlic, and ginger are cooked low and slow until they’re genuinely golden, not just softened. That caramelization is where most of the sauce’s depth comes from. Rushing either step is the main reason homemade tikka masala tastes thin compared to what you’d expect.
About the ingredients
- Firm tofu: Look for tofu labeled “firm” or “extra-firm” — not silken. Press it for at least 20 minutes before marinating. Most grocery stores carry it near the produce section or refrigerated health foods aisle.
- Unsweetened coconut yogurt: This is the marinade base. Check that it says unsweetened — flavored or sweetened versions will throw off the spice balance. Oat-based plain yogurt also works if coconut yogurt isn’t available.
- Full-fat coconut milk: The fat content matters here. Light coconut milk produces a noticeably thinner sauce. Shake the can before opening.
- Garam masala: A pre-blended spice mix found in most supermarkets in the spice aisle. Brands vary in heat level, so taste yours before adding the full amount if you’re heat-sensitive.
- Smoked paprika: This adds a subtle char note that mimics the effect of a tandoor oven. Regular paprika is a fine substitute but the smokiness will be missing.
Mistakes to avoid
- Not pressing the tofu long enough: Wet tofu won’t absorb the marinade and won’t sear properly — it steams instead of browns. Wrap it in a clean towel, set something heavy on top, and give it a full 20 minutes minimum.
- Crowding the pan when searing: If the tofu pieces are touching each other in the pan, they’ll steam rather than crisp. Work in two batches if needed.
- Adding coconut milk over high heat: Pouring cold coconut milk into a very hot pan can cause it to separate and look grainy. Turn the heat to medium before adding it, then stir steadily.
- Under-salting the sauce: Tomatoes and coconut milk both need salt to taste like anything. Taste the sauce before adding the tofu back in and adjust — this is the moment to fix it.
- Skipping the simmer after combining: The tofu and sauce need at least 8–10 minutes together over low heat for the flavors to actually merge. Pulling it off the stove too early leaves the tofu tasting separate from the sauce.
Make-ahead notes
The tofu can marinate in the fridge for up to 24 hours — longer than that and the acid in the lemon juice starts to break down the texture. The sauce (without the tofu) keeps well in an airtight container in the fridge for up to 4 days, or in the freezer for up to 2 months; freeze it flat in a zip bag to save space. Sear the tofu fresh when you’re ready to serve — it only takes about 10 minutes and reheated seared tofu loses its texture quickly. To reheat the sauce, warm it gently in a saucepan over medium-low heat with a splash of water or coconut milk to loosen it, then add freshly seared tofu and simmer for 5 minutes before serving.

Vegan Tikka Masala
Equipment
- Large sauté pan or skillet
- Mixing bowls
- Chef's knife
- Cutting board
- Blender or immersion blender
Ingredients
For the Tofu Marinade:
- 1 block firm tofu (14 oz) pressed for at least 20 minutes
- ⅓ cup unsweetened coconut yogurt or unsweetened plain vegan yogurt
- 1 tbsp lemon juice freshly squeezed
- 1 tsp garam masala
- ½ tsp ground cumin
- ¼ tsp smoked paprika
- ½ tsp sea salt
For the Masala Sauce:
- 1 tbsp neutral oil such as avocado or grapeseed
- 1 medium yellow onion diced
- 3 cloves garlic minced
- 1 tbsp fresh ginger grated
- 1 tsp ground turmeric
- 2 tsp ground coriander
- 2 medium Roma tomatoes roughly chopped
- 1 tbsp tomato paste
- ½ cup full-fat coconut milk well-shaken
- ½ cup water
- ½ tsp sea salt to taste
To Finish:
- ¼ cup fresh cilantro chopped, for garnish
Instructions
- Dice the pressed tofu into 1-inch cubes. In a bowl, mix together yogurt, lemon juice, garam masala, cumin, paprika, and salt. Add tofu cubes and gently toss to coat. Let marinate for 20–30 minutes, or up to overnight for deeper flavor.
- Heat a non-stick skillet over medium-high heat (about 375°F / 190°C). Sear the marinated tofu for 5–7 minutes, flipping occasionally, until golden brown on most sides. Set aside.
- In the same pan, reduce heat to medium (around 325°F / 165°C). Add the oil and sauté diced onions for 6–8 minutes until translucent and lightly browned. Add garlic and ginger and sauté for another 1–2 minutes until fragrant.
- Add turmeric and coriander, stirring to toast the spices for 30 seconds. Add the Roma tomatoes and tomato paste. Cook for 4–5 minutes until tomatoes break down and mixture thickens slightly.
- Carefully transfer the sauce to a blender or use an immersion blender directly in the pan. Blend until smooth and creamy. Return to the pan, stir in coconut milk and water, and simmer uncovered for 10–12 minutes.
- Add the seared tofu back into the sauce. Let simmer together for 5–8 more minutes to meld flavors. Season with additional salt to taste.
- Plate the tikka masala over steamed basmati rice or with warm vegan naan. Garnish with fresh cilantro and serve hot.
Notes
- For a smoky twist, char the tofu on a grill instead of pan-searing.
- Unsweetened vegan yogurt is key—avoid flavored or sweetened varieties as they will clash with the spices.
- Feel free to substitute tofu with roasted cauliflower or chickpeas for varied texture and flavor.
Nutrition
Your questions, answered
Can I use something other than tofu?
Yes — chickpeas or cauliflower florets are the most reliable swaps. Chickpeas can go straight from the can (drained and dried) into the pan for a quick sear; cauliflower should be roasted at 425°F for about 20 minutes before adding to the sauce so it gets some color and doesn’t turn mushy.
How do I make it less spicy without changing the flavor too much?
Reduce the garam masala by about a third and skip any added cayenne. The coconut milk already softens heat considerably, so a small reduction in the spice blend goes a long way without flattening the overall flavor.
My sauce looks orange and oily on top — did I do something wrong?
No, that’s normal separation from the coconut milk fat. Take the pan off the heat and stir firmly for about 30 seconds — it will come back together into a smooth sauce.
What do I serve this with if I don’t have basmati rice or naan?
Any long-grain white rice works fine. Flatbread from the store, plain couscous, or even thick slices of toasted sourdough are all solid options — skip the garnish if you’re short on time, it’s not worth the extra dish.
Try these next
- Crispy Indian Chickpea Waffles
- Golden Curried Parsnip Soup
- Smoky Spanish Chickpea Stew
- Crispy Tofu Broccoli Stir-Fry
