Go Back
+ servings
5 from 2 votes
Bowl of Indian Butter Tofu and Lentils with Water Glass, Naan, and Fresh Cilantro in the Background
Indian Butter Tofu & Lentils
Prep Time
15 mins
Cook Time
1 hr
Total Time
1 hr 15 mins
Pan fried tofu and tender black lentils are simmered in spicy tomato sauce with creamy dairy-free yogurt to make this flavorful Indian-inspired vegan curry.
Course: Entree
Servings: 4
Calories: 345 kcal
Author: Alissa
  • 1/2 cup whole black urad dal you can sub another variety of lentil — see note
  • 1/4 cup vegan butter divided
  • 1 14 ounce package extra firm tofu, drained, pressed, and cut into 1-inch cubes
  • 1 medium onion diced
  • 1 serrano pepper seeded and minced (optional, omit for a milder version)
  • 4 garlic cloves minced
  • 1 teaspoon freshly grated ginger
  • 2-3 teaspoons garam masala to taste
  • 1/2 teaspoon ground cumin
  • 1/2 teaspoon turmeric
  • 1/4 teaspoon ground cardamom
  • 1 14 ounce can crushed tomatoes
  • 1 cup vegetable broth
  • 2 teaspoons vegan granulated sugar you can skip this if you're opposed to adding sugar, but it helps balance out the tartness of the tomatoes and yogurt
  • 2/3 cup 5.3 ounce container plain non-dairy yogurt
  • Salt and pepper to taste
  • Fresh cilantro 
  • Cooked basmati rice for serving
  1. Place the lentils into a small saucepan and cover with about 3 inches of water. Place over high heat and bring the water to a boil. Allow to cook until the lentils are tender. This will take about an hour if you're using urad dal, less for other varieties. Drain any excess water when the lentils are done cooking.
  2. When the lentils have about 30 minutes cook time left, coat the bottom of a medium pot with 2 tablespoons of vegan butter. Place over medium heat and melt the butter. Add the tofu and cook for about 10 minutes, flipping once or twice, until the cubes are browned on multiple sides. Remove the tofu from the pot and transfer it to a plate.
  3. Add the remaining vegan butter to the pot and allow it to melt. Add the onion and sauté until soft and translucent, about 5 minutes. Add the serrano pepper, garlic, ginger, garam masala, cumin, turmeric, and cardamom. Sauté for about 1 minute more, until very fragrant. Return the tofu to the pot and stir in the crushed tomatoes, broth, and sugar. Raise heat and bring the mixture to a simmer. Allow to cook until the sauce thickens up a bit, about 20 minutes. Stir in the lentils and yogurt. Allow to cook another minute or two, just until heated throughout. Remove from heat and season with salt and pepper to taste. Adjust any other seasonings to your liking.
  4. Divide the tofu and lentils onto plates and top with a sprinkle of cilantro. Serve with basmati rice.
Recipe Notes

You can substitute regular black, brown, green, or red lentils if you'd like. Cooking times will vary, so you'll need to refer to the package directions or test them for doneness every ten minutes or so during cooking.

Nutrition Facts
Indian Butter Tofu & Lentils
Amount Per Serving
Calories 345 Calories from Fat 149
% Daily Value*
Fat 16.6g26%
Saturated Fat 3.1g16%
Sodium 511mg21%
Potassium 508mg15%
Carbohydrates 30.7g10%
Fiber 12.3g49%
Sugar 10.1g11%
Protein 18.7g37%
Calcium 220mg22%
Iron 5.6mg31%
* Percent Daily Values are based on a 2000 calorie diet.