Go Back
butter tofu in a bowl

Butter Tofu (Vegan Butter Chicken)

Butter Tofu has chunks of marinated and broiled tofu in a mild, creamy, tomato-based sauce. A takeout-quality dish made right at home.
5 from 5 votes
Print Pin
Author: Sarah Sullivan

Video

Equipment

Ingredients

For the Tofu

  • 2 (14 or 16 ounce) blocks extra-firm tofu thoroughly pressed and torn into bite-sized pieces
  • 1/2 cup plain unsweetened nondairy yogurt I like Forager brand
  • 1 tablespoon minced garlic from about 2-3 cloves
  • 1 tablespoon minced ginger from about 1" thumb of ginger
  • juice of 1/2 a lemon about 1 tablespoon
  • 1 teaspoon garam masala
  • 1/2 teaspoon turmeric
  • 1 teaspoon ground cumin
  • 1 teaspoon kashmiri chili powder
  • 1/2 teaspoon kosher salt
  • 1 tablespoon vegetable oil I like olive oil or peanut oil

For the Butter Chicken Sauce

  • 1 tablespoon vegetable oil
  • 1 small white or red onion finely diced
  • 4-6 cloves garlic minced
  • 1 tablespoon minced ginger from about 1" thumb of ginger
  • 1 serrano or jalapeño finely diced (optional, for spice)
  • 1 teaspoon Kashmiri chili powder
  • 1 teaspoon ground cumin
  • 1/2 teaspoon ground coriander
  • 1/2 teaspoon cayenne pepper (optional, to make it spicy)
  • 2 tablespoons tomato paste
  • 1 (14 oz) can crushed tomatoes preferably with no citric acid added, such as Cento or Mutti brand; see notes
  • 1 3/4 cup water to rinse out tomato can
  • 1/2 teaspoon kosher salt plus more to taste
  • 2 teaspoons granulated sugar (optional)
  • 2 tablespoons vegan butter more to preference; see notes
  • 1/2 cup full-fat coconut milk can sub cashew cream or other nondairy cream; see notes
  • 2 teaspoons kasuri methi (optional)
  • fresh cilantro optional, to garnish
  • extra coconut milk optional, to garnish

Instructions

Marinate the Tofu (2+ hours or overnight)

  • Make the marinade: In a mixing bowl, whisk together the nondairy yogurt with all other marinade ingredients (garlic, ginger, lemon juice, all spices, salt, and vegetable oil).
  • Marinate the tofu: Add in the torn pieces of tofu and gently stir to evenly coat. Cover the bowl and allow the tofu to marinate in the refrigerator, preferably for at least 2 hours or overnight.

Cook the Tofu (Oven Method)

  • Preheat oven to 425°F.
  • Lightly grease an unlined baking sheet and arrange the marinated tofu pieces with space between them. Bake for 15 minutes in preheated oven.
  • Turn the broiler on to High. Finish the tofu under the broiler for about 8-10 minutes until the tofu takes on a light char. All broilers are different, so keep a careful eye on the tofu as it can go from lightly charred to burnt quite fast. Rotate the pan about halfway through so the tofu cooks evenly. Set aside.

Cook the Tofu (Stovetop Method)

  • Heat a heavy skillet over medium-high heat. (A cast iron is ideal for this.) Add about 1 tablespoon of oil to the pan, then add in the marinated tofu. Try to let the tofu cook on the first side, untouched, for 2-4 minutes, giving it a chance to brown. Then flip and repeat until nicely browned. Remove the pan from the heat and set aside.

Make the Butter Chicken Sauce

  • Brown the aromatics: Heat the vegetable oil in a skillet over medium heat. When the oil shimmers, add in diced onion, minced garlic, minced ginger, and diced chili pepper (if using). Sauté 10-12 minutes, or until mixture is evenly golden brown. Use splashes of water as often as needed to deglaze when the mixture sticks to the pan.
    If you're in a hurry, you can sauté for only 3-5 minutes, but the flavor won't be as rich.
  • Cook spices and tomato paste: Add in the spices. Add tomato paste, breaking it up with your spoon to coat the aromatics. (Add a splash of water as needed if things are sticking to the pan.) Cooking the tomato paste, stirring often, for another 2-3 minutes until it changes from bright red to a darker rusty color.
  • Cook the canned tomatoes: Pour in the crushed tomatoes along with 1/2 cup water. When the mixture starts to bubble, reduce heat to low, cover partially, and simmer for 8-10 minutes to cook out the raw flavor of the tomatoes.
  • Blend the sauce (optional): For a smooth, restaurant-style sauce, remove the pan from the heat. Allow to cool slightly, then transfer the mixture to a blender and blend until smooth. You can add a bit more water if needed to achieve the texture you like. Pour the entire mixture back into the skillet and heat over medium-low.
    If you prefer to leave the texture in your butter sauce, feel free to skip this step.
  • Finishing touches: Add salt to preference, optional sugar, vegan butter, and coconut milk (or nondairy cream of choice) to the pan. Then add in the optional kasuri methi and the cooked tofu. Stir and allow the mixture to simmer for a few minutes to heat thoroughly.
  • Serve: Garnish with optional fresh cilantro and an extra drizzle of coconut milk. Enjoy with steamed basmati rice and homemade vegan naan.

Notes

  • A note on canned tomatoes: The quality of your tomatoes is important. I highly recommend Mutti or Cento, as they contain just tomatoes (and sometimes salt). Try to avoid brands that include citric acid in the tomatoes, as this can make the dish taste unpleasantly sour.
  • Coconut milk: Use full-fat coconut milk (or even coconut cream) for the creamiest texture. Light coconut can be used for a less rich result.
  • Coconut milk alternatives: Homemade cashew cream is my second favorite option (1/2 cup raw cashews, thoroughly soaked and blended with 2/3 cup fresh water). But any nondairy cooking cream can be used, and there are many options available in stores from brands like Silk, Forager, Califia Farms, and Country Crock.
  • Kasuri methi: Dried fenugreek leaves. These can be ordered online or found at an Indian market. They add a nice finishing touch and make dishes taste more restaurant quality! But if you can't find it, feel free to omit it.
  • Butter: You can add extra butter (another 2 tablespoons or so) to make this dish even more creamy, decadent and restaurant-quality! For everyday I typically just add the 2 tablespoons.
Did you make this recipe?We’d love for you to leave a review on the website! You can also share a photo on IG and tag @sarahsvegankitchen_ or #sarahsvegankitchen.