Tofu Makhani (Indian Butter Tofu)

Tofu Makhani (Indian Butter Tofu)

This recipe is a vegetarian riff on butter chicken, or murgh makhani, a classic Indian dish in which chicken simmers in a rich, dairy-laden tomato sauce that’s seasoned with heady spices like turmeric, cumin, garam masala and cardamom. This weeknight-friendly version has a toned-down ingredient list, and the tofu doesn’t require hours of marinating, which means you can get everything on the table in under an hour if you start the rice as the tomatoes are cooking down. Heavy cream gives this dish a rich finish, but full-fat coconut milk makes a fine substitute. Whatever you do, don’t substitute anything for the butter or ghee (sorry, vegans) — it’s the signature ingredient.
  • Total:
  • Serves: 4 persons



  1. Step 1

    In a large bowl, whisk the lemon juice, cumin and 1 heaping tablespoon turmeric with 1 tablespoon water to make a thin paste. Drain and pat the tofu dry then cut it into 1-inch cubes. Add it to the turmeric marinade, gently stirring to coat. Set aside at room temperature while you prepare the remaining ingredients, or cover and refrigerate for up to 1 day.
  2. Step 2

    In a large pot over medium heat, melt the butter. Add the onions and chile powder, and cook, stirring frequently, until onions are translucent, about 5 minutes. Lower the heat, add the ginger and garlic and cook, stirring occasionally, until the onions are starting to brown, about 5 minutes.
  3. Step 3

    Add the tomatoes and their juices, gently crushing the tomatoes with your hands as you go. Add the cinnamon stick, paprika and sea salt along with the remaining 1 teaspoon turmeric. Cook until the tomatoes and onions break down and the sauce is the consistency of a thick ragù, about 10 minutes. Blend with an immersion blender, or transfer to a blender and purée until smooth. Return to the pot.
  4. Step 4

    Gently stir in the cream and the tofu and its marinade. Simmer over low heat, uncovered, until the tofu has taken on the color of the sauce and is flavored all the way through, about 5 minutes. Stir occasionally but gently, so the tofu doesn’t fall apart. Transfer the tofu and sauce to a deep platter or large shallow serving bowl and sprinkle with scallions and cilantro. Serve with warm naan, rice, yogurt and cucumbers.