Go Back
+ servings

Tofu Tikka Masala

Prep Time45 mins
Cook Time35 mins
Marinating Time2 hrs
Total Time1 hr 20 mins
Servings: 6
Calories: 367kcal
Author: Nisha Vora



  • 2 (14-ounce/400g) blocks of extra firm tofu
  • 1 cup (227g) unsweetened thick, creamy vegan yogurt*
  • 3 garlic cloves, crushed with a press or grated
  • ½- inch piece fresh ginger, grated or minced
  • 2 tablespoons freshly squeezed lemon juice
  • 1 1/2 tablespoons grapeseed oil or other high-heat oil, plus more for cooking the tofu
  • 1 1/2 teaspoons kosher salt

Tikka Spice Blend*

  • 1 1/2 teaspoon cumin seeds
  • 4 teaspoons coriander seeds
  • 6 whole cloves
  • ~30 black peppercorns
  • 6 green cardamom pods, (black seeds only; discard pods)
  • 2 (2-to-3inch) cinnamon sticks***
  • ½ tablespoon fenugreek leaves, AKA kasoori methi (optional but recommended)****
  • 1 ½ teaspoons Indian red chile powder***** (use half the amount for a milder heat)
  • 1 teaspoon ground turmeric
  • 1 teaspoon paprika
  • 1 teaspoon ground ginger
  • 1/2 teaspoon nutmeg, freshly grated (or pre-ground)

2) MASALA******

  • 3 tablespoons grapeseed oil or other high-heat oil
  • 1 tablespoon cumin seeds
  • 6 whole dried red chilies (if not available, you can sub with ½ tsp red pepper flakes, or omit for less heat)
  • 1 large red onion or 2 small red onions, finely diced
  • 6 garlic cloves, minced
  • 1 1/2- inch piece ginger, minced or grated
  • 1 serrano pepper, diced (plus 1 thinly sliced serrano pepper for garnish - only for spicy spicy version)*******
  • ½ teaspoon ground turmeric
  • 1 teaspoon Indian red chile powder** (use half the amount for a milder heat)
  • ½ teaspoon ground coriander
  • 2 tablespoons tomato paste (optional)
  • 1 pound (454g) tomatoes, diced
  • 1 cup (14g) cilantro, stems finely chopped and leaves chopped (save leaves for garnish)
  • 3 tablespoons water
  • 1 1/2 teaspoons kosher salt, plus more to taste
  • 1 tablespoon garam masala
  • 2 tablespoons fenugreek leaves AKA kasoori methi (optional but recommended)***
  • 1 (13.5 ounce/400 mL) can full-fat coconut milk
  • 1 tablespoon vegan butter
  • 1 tablespoon freshly squeezed lemon juice, plus more to taste

For serving

  • 3 cups cooked white rice or flatbread, such as naan or roti
  • Vegan yogurt to dollop on top (optional, but adds a nice cooling balance)


  • Prepare the tofu. Use a tofu press. Or, wrap the tofu in a clean dish towel or several layers of paper towels, weigh it down with a heavy cookbook or a large plate weighed down by a few cans of beans. Press the tofu for 20 to 30 minutes. Tear the tofu into chunks with your hands and transfer the tofu chunks to a large bowl.
    NOTE: the tofu chunks shouldn’t be too large or too small (see photos in blog post for reference), but it’s totally fine if they’re not all the same size.
  • Make the tikka spice blend. Heat a small or medium frying pan over medium heat. Once warm, add the whole spices (cumin and coriander seeds, cloves, peppercorns, cardamom seeds, cinnamon sticks, and fenugreek leaves).
    Toast, shaking the pan frequently, until they are very fragrant and toasty, and the lighter seeds have browned, 2 ½ to 3 ½ minutes. Transfer the seeds out of the pan and allow to cool.
    Once cool, add to a spice grinder or a mortar & pestle and crush until finely ground. Pour into a bowl, add the ground spices (Indian red chile powder, turmeric, paprika, nutmeg, and ginger), and toss all the spices to combine.
  • Make the Tikka marinade. In a medium bowl, mix together the spice blend with the yogurt, garlic, ginger, lemon juice, oil, and salt. Pour the marinade over the tofu chunks and use your hands to very gently coat all the crevices of the tofu, taking care to not mash it.
    Cover and refrigerate for 2 hours, or up to 8 hours.
  • When ready to bake the tofu, arrange an oven rack 6 inches from the heat source (usually, the second rack). Add a 12-inch cast iron skillet to the rack and preheat the oven to 500ºF/260ºC.
    Once the skillet is smoking hot, transfer it to the stove or a pot holder. Turn the broiler to high.
  • Add enough oil to lightly coat the bottom of the pan. Add the marinated tofu to the pan, leaving excess marinade behind. It will be pretty tightly packed into the pan.
    Return the pan to the second oven rack and broil until the tofu is cooked through and charred in some spots on top, 10 to 12 minutes.
    NOTE: after the 5-minute mark, I recommend checking every 1-2 minutes to prevent burning since every oven is different.
  • MAKE THE MASALA. Heat the 3 tablespoons of oil in a deep 12-inch sauté pan over medium-high heat. Once hot, add the cumin seeds and cook for 1 minute, swirling the pan frequently. Add the dried chilies and cook for another 30 seconds, swirling frequently to prevent burning.
  • Add the onions with a couple pinches of salt and cook until golden brown, about 6 to 8 minutes (if the onions start browning too quickly, lower the heat to medium).
  • Add in a few splashes of water to stop the onions from browning too much, then add the garlic, ginger, diced serrano pepper, and turmeric, and cook for 1 minute, tossing frequently. Add the red chili powder, coriander, and tomato paste. Stir frequently for 30 to 60 seconds.
  • Add the tomatoes and their juices, and cook until broken down and softened, 2 to 3 minutes.
    Add the cilantro stems (save the leaves for the garnish), 3 tablespoons of water, and 1 ½ teaspoons kosher salt, and stir. Cover the pan and bring to a simmer.
  • Simmer the masala for 15 minutes, opening the pot to stir occasionally, until the liquid has mostly evaporated. Scoop out the dried red chilies and discard.
  • Add in the coconut milk, garam masala, and vegan butter. Crush the fenugreek leaves in your hand to release the aroma and add to the masala. Increase the heat slightly and stir until everything is combined and the butter is melted.
    If you prefer a smoother texture, feel free to run an immersion blender through the masala.
  • Add the baked tofu, the thinly sliced serrano pepper (if using for spicy spicy!), and lemon juice. Simmer for 2 minutes and coat the tofu in the sauce. Taste, and if it’s a bit too acidic, add a tiny bit of sugar (¼ to ½ teaspoon).
  • Garnish the masala with the cilantro leaves and season to taste with salt. Serve tofu tikka masala over rice and/or with Indian flatbread.



*For plant-based yogurts, a thick and creamy variety is necessary because a thinner variety will add too much liquid to the marinade. I like using Kite Hill's Greek-style almond yogurt a thick coconut yogurt like Culina, CocoJune, or GT's CocoYo
**While whole spices take this dish over the top, you can sub with ground spices if needed (can't guarantee the same results though). 
  • 1 1/2 tsp cumin seeds = 1 tsp ground
  • 4 tsp coriander seeds = 3 tsp ground
  • 6 whole cloves = 1/2 tsp ground
  • ~30 black peppercorns = 1/2 to 1 tsp ground
  • 2 (2-to-3inch) cinnamon sticks = or 1/2 tsp ground
  • 6 cardamom pods = 1/4 tsp ground
***If you don't have an electric spice grinder / are using a mortar and pestle, break the cinnamon sticks up into a few pieces to make grinding easier. 
****Kasoori methi (fenugreek leaves) brings a really unique flavor to Indian dishes; it tastes like a hybrid between fennel and celery. You can find it at South Asian grocery stores or online (affiliate link). 
*****If you can't get Indian red chile powder, use about half the amount of cayenne pepper. 
****** You can make the masala 1-3 days in advance and store in an airtight container in the fridge. On the day of serving, reheat it on the stove, add proceed with step 12.  
*******If you love spicy spicy food, consider adding 1 thinly sliced serrano pepper at the end when you add the tofu. It adds a fresh, vegetal crunch (but a lot of spice). To moderate the heat in this recipe, please read the "Ingredient Notes" section.