Vegan Tofu Tikka Masala with a rich, creamy tomato and coconut milk sauce, pan-fried crispy tofu and tangy vegan yogurt. Serve with rice or naan for an insanely flavorful meat-free dinner!

Tikka masala, traditionally made with chicken, is surprisingly easy to make vegan! Instead of chicken, we use pan-fried tofu for a meat-like texture that soaks up plenty of flavor from a rich, spiced tomato and coconut milk sauce.
The flavorful sauce is finished with a swirl of plain vegan yogurt, which adds the perfect amount of acid and tanginess. SO. GOOD.

Here's how our recipe differs from a traditional tikka masala:
Traditional recipes call for chicken that's marinated in yogurt and spices before being grilled or roasted. We tried doing this with the tofu, but found that it didn't add a ton of extra flavor, yet it took much longer to make.
Therefore, we decided to bypass this step and simply pan-fry the tofu before adding it to the sauce to soak up extra flavor. This not only shortens the prep time for the recipe, but also makes it a bit easier!
In addition, we (obviously) substitute traditional ingredients like butter and heavy cream with vegan substitutes like oil and full fat coconut milk. Our vegan version is still super rich, creamy and insanely delicious!
Finally, we also add golden raisins and cashews to ours, which is not traditional to tikka masala but adds so much! This is optional, so feel free to leave out.
We hope you love this recipe – it's definitely a favorite in our house!
NOTE: For those wondering, the spice level is relatively mild (tested on spice-sensitive family members). If you prefer more spice, feel free to play around with the spice levels as desired.
Ingredients
- Extra firm tofu: anything less firm won't get crispy. After draining and pressing the tofu, you'll dice it and toss with salt and cornstarch so it gets extra crispy when pan-fried.
- Neutral high heat oil: like vegetable, canola, sunflower, etc.
- Onion: finely diced yellow onion is best.
- Garlic: finely minced, pressed or grated.
- Ginger: for best results, peel fresh ginger and use a microplane to grate. This way, you won't end up with any big pieces of ginger.
- Tomato paste
- Spices: whole cumin seeds, garam masala, ground coriander, ground turmeric, cayenne, ground cardamom (optional), salt
- Whole cumin seeds are traditional to the recipe and significantly alter the overall flavor profile. However, if you can't find any, you can sub with ½ teaspoon ground cumin and add with the other spices.
- Coconut sugar: can also sub with brown sugar or regular sugar.
- Vegetable broth: if using low sodium, you may want to add slightly more salt.
- Full fat coconut milk: make sure to use the canned stuff, which is much thicker and richer.
- Strained tomatoes: Strained tomatoes are different from tomato sauce, which often contains other vegetable ingredients. For this recipe, you'll want a sauce that's 100% tomato. Strained tomatoes are often found in a can, next to other canned tomato products.
- Plain vegan yogurt: we used a cashew-based plain yogurt, but almond, coconut or even oat-based products work well as long as they are not flavored.
- Optional: golden raisins and raw, unsalted cashews. Not traditional to tikka masala, but we always add them. The raisins add the perfect pop of sweetness and the cashews add both crunch and nuttiness. So good!
Instructions
PREP TOFU: Remove tofu from packaging and drain well. Pat dry with a clean dish towel. Wrap in a clean dish towel or several sheets of paper towel. Set something heavy on top of the block of tofu, like a cast iron pan, and let sit for at least 30 minutes (or up to 2 hours).
PAN-FRY TOFU: Dice tofu into 1" cubes and add to a bowl. Toss with cornstarch and salt until evenly coated.
Heat 1 tablespoon of oil in a large skillet over medium heat. Once shimmering, add tofu and cook until crispy on all sides (about 15 minutes total). Transfer tofu to a plate and set aside.
MAKE TIKKA MASALA: In the same skillet, heat another 2 tablespoon of oil over medium heat. Add whole cumin seeds and toast for 1-2 minutes, until fragrant.
Add onions, garlic and ginger and sauté for 7-10 minutes, until onions start to brown.
Add tomato paste, garam masala, coriander, turmeric, cayenne, cardamom, sugar and salt and stir well to coat onion mixture, cooking for 1-2 minutes.
SIMMER: Add broth to deglaze pan and let simmer for a minute. Add coconut milk and tomato sauce and stir well. Add tofu back into pan. If using golden raisins and cashews, add to pan and stir. Let simmer over medium-low heat for 20-30 minutes, stirring occasionally to prevent burning on bottom of pan.
SERVE: Remove from heat and stir in yogurt. Serve warm over white or brown rice or with naan. (Check out this recipe for homemade vegan naan!)
Substitutions
- Substitute tofu with chickpeas, cauliflower, tempeh or a mix of vegetables like peas, carrots and potatoes. If you're not fully vegan, you can also use paneer. (Note: if you have non-vegan family members, you can also divide the recipe and add chicken to half.)
Storage
This vegan tofu tikka masala is meal prep friendly and stores well in both the refrigerator and freezer!
Store leftovers in an airtight container in the fridge for up to 3-4 days.
Freezer instructions: transfer cooled leftovers to an airtight container and freeze for up to 4-6 months. To reheat, let defrost overnight in the refrigerator, the microwave or heat on stovetop until fully warmed.
More vegan dinner recipes you'll love:
- Red Lentil Dal (Masoor Dal)
- Vegan Pumpkin Curry
- Lentil Sweet Potato Curry Soup
- Miso Glazed Oven Roasted Eggplant
- Vegan Rice Noodles with Crispy Tofu and Mushrooms
If you make this vegan tofu tikka masala, we’d love for you to leave a comment and rating below! We also love to see your creations on Instagram – tag us at @crowded_kitchen so we can see what you’ve been cooking.
Print📖 Recipe
Tofu Tikka Masala
- Total Time: 1 hour 20 minutes
- Yield: 6 servings 1x
- Diet: Vegan
Description
Vegan Tofu Tikka Masala with a rich, creamy tomato and coconut milk sauce, pan-fried crispy tofu and tangy vegan yogurt. Serve with rice or naan for an insanely flavorful meat-free dinner!
Ingredients
Tofu:
- 1 16 oz. package extra firm tofu, drained and pressed
- 1 tbsp cornstarch
- ½ tsp salt
- 1 tbsp neutral high heat oil (vegetable, sunflower, etc)
Tikka Masala:
- 2 tbsp neutral high heat oil (vegetable, sunflower, etc)
- 1 ½ tsp whole cumin seeds
- 1 yellow onion, diced
- 6 cloves of garlic, minced
- 2 inch piece of ginger, minced or grated
- 2 tbsp tomato paste
- 2 tsp garam masala
- 1 tsp ground coriander
- 1 tsp ground turmeric
- ¼ tsp cayenne
- ¼ tsp ground cardamom (optional)
- 1 tsp coconut sugar or brown sugar
- 1-1 ½ teaspoon salt
- 1 cup vegetable broth
- 1 13.5 oz. can full fat coconut milk
- 1 ½-2 cups strained tomatoes*
- ½ cup plain vegan yogurt
- Optional: ¼ cup each of golden raisins and chopped raw cashews**
Instructions
- Remove tofu from packaging and drain well. Pat dry with a clean dish towel. Wrap in a clean dish towel or several sheets of paper towel. Set something heavy on top of the block of tofu, like a cast iron pan, and let sit for at least 30 minutes (or up to 2 hours).
- Dice tofu into 1" cubes and add to a bowl. Toss with cornstarch and salt until evenly coated.
- Heat 1 tablespoon of oil in a large skillet over medium heat. Once shimmering, add tofu and cook until crispy on all sides (about 15 minutes total). Transfer tofu to a plate and set aside.
- In the same skillet, heat another 2 tablespoon of oil over medium heat. Add whole cumin seeds and toast for 1-2 minutes, until fragrant.
- Add onions, garlic and ginger and sauté for 7-10 minutes, until onions start to brown.
- Add tomato paste, garam masala, coriander, turmeric, cayenne, cardamom, sugar and salt and stir well to coat onion mixture, cooking for 1-2 minutes.
- Add broth to deglaze pan and let simmer for a minute. Add coconut milk and tomato sauce and stir well. Add tofu back into pan. If using golden raisins and cashews, add to pan and stir. Let simmer over medium-low heat for 20-30 minutes, stirring occasionally to prevent burning on bottom of pan.
- Remove from heat and stir in yogurt. Serve warm over rice or with naan.
Notes
*Strained tomatoes are different from tomato sauce, which often contains other vegetable ingredients. For this recipe, you'll want a sauce that's 100% tomato. Strained tomatoes are often found in a can, next to other canned tomato products.
**Golden raisins and cashews are not traditional to tikka masala, but we always add them. The raisins add the perfect pop of sweetness and the cashews add both crunch and nuttiness. So good!
- Prep Time: 30 minutes
- Cook Time: 50 minutes
- Category: Dinner
- Method: Stovetop
- Cuisine: Indian
Nutrition
- Serving Size:
- Calories: 308
- Sugar: 4.6 g
- Sodium: 693.5 mg
- Fat: 25.3 g
- Saturated Fat: 13.7 g
- Trans Fat: 0 g
- Carbohydrates: 13.4 g
- Fiber: 2.5 g
- Protein: 9.6 g
- Cholesterol: 0 mg
Sharon says
It turned out really good. I didn’t put the cayenne in but followed the recipe otherwise. I’m trying to decide which spices to increase for a bit more flavor. It is very mild but I’ll make it again. We don’t like hot pepper. I used Indian brown rice and stirred in a half of package of frozen spinach at the end.
Jess says
This recipe is a winner! We cook this all the time for dinner guests and it is always a hit!
Zora says
Not sure how it's possible but your recipes never fail. This one in particular is so flavourful. I did make the sauce a few hours in advance to allow the flavours to fully merge and added the crispy tofu for the final 30 minutes of simmering.
Lexi says
Zora, thank you so much! That means a lot and we're so glad you loved this recipe - we tested it SO many times to get it right! Have a great week!
Stephanie says
I’ve made this a few times, it’s my go-to Indian dish! It’s definitely important to be organized and have all your ingredients prepped and ready to go, or it can feel a bit overwhelming while you’re doing the cooking. While it’s simmering I can never help myself from continuously “taste testing”. The only changes I make are that I leave out the raisins and cashews, and I use either regular tomato sauce or crushed tomatoes in place of the strained tomatoes. I’ve never been able to find strained tomatoes and the recipe still comes out absolutely delicious!
Justine says
Absolutely delicious! I made some changes based on what I had (added sunflower seeds and blended the sauce before adding tofu back in because I didn't have any coconut milk, and added beans and steamed broccoli, zucchini I needed to use up) but the flavours of the spice blend are wonderful and highly recommended. Can't wait to have it for lunch!
Andrea says
Love! Love! Love! I used ghee so it wasn’t not vegan, but omg.
Lexi says
Yay so glad to hear that!