Tofu Vindaloo
Tangy, spicy tofu vindaloo with a bold vinegar-forward masala, soft potatoes, and a rich onion-tomato base. It brings the punchy flavors of Goan-style vindaloo to a satisfying vegetarian curry that pairs well with rice or pav.
For 4 servings
- prep · ~10 min
Prep the tofu and potatoes.
1.Press the tofu well and cut it into medium cubes.2.Peel the potatoes and cut them into small cubes.3.Slice the onions, chop the tomatoes, and roughly chop the ginger and garlic. - mix · ~5 min
Make the vindaloo masala.
1.Add dry red chili, cumin seeds, black peppercorns, cloves, cinnamon, ginger, garlic, turmeric powder, red chili powder, coriander powder, and vinegar to a small grinder jar.2.Blend to a smooth paste.3.Add 1 to 2 tbsp water only if needed to help it grind.TIPKeep the paste thick so the curry gets a bold, concentrated flavor. - saute · ~5 min
Brown the tofu lightly.
Heat 1 tbsp oil in a pan over medium heat. Add the tofu cubes and cook until lightly golden on a few sides, 4 to 5 minutes. Remove to a plate.
- boil · ~8 min
Boil the potatoes until just tender.
Cook the potato cubes in water for 6 to 8 minutes until just tender but not falling apart. Drain and keep aside.
- saute · ~13 min
Cook the onion base.
1.Heat the remaining 1 tbsp oil in a pan over medium heat.2.Add the sliced onions and cook until golden, 6 to 8 minutes.3.Add the chopped tomatoes and cook until soft and pulpy, 4 to 5 minutes.TIPLet the onions turn properly golden for a deeper vindaloo flavor. - saute · ~4 min
Cook the masala.
Add the ground vindaloo masala to the pan and cook on medium-low heat for 3 to 4 minutes, stirring often, until the raw smell softens and the oil begins to show at the edges.
TIPUse medium-low heat here so the spices do not burn. - simmer · ~10 min
Simmer the curry.
1.Add the boiled potatoes, browned tofu, salt, and 1 cup water.2.Mix gently and bring the curry to a gentle simmer.3.Cover and cook for 8 to 10 minutes so the tofu and potatoes take on the masala. - garnish
Garnish with coriander leaves.
- serve
Serve hot.
Serve tofu vindaloo hot with rice, pav, or flatbread.
What to keep in mind.
7 tips from the recipe — small details that make a real difference to the final dish.
- 1Press the tofu thoroughly so it browns instead of steaming and absorbs the vindaloo gravy better.
- 2Keep the potato cubes small and boil only until just tender, so they finish cooking in the curry without breaking.
- 3Brown the tofu on a few sides only; over-frying can make it chewy once simmered in the masala.
- 4Cook the onions to a true golden brown before adding tomatoes for the deep, slightly sweet base vindaloo needs.
- 5When the masala hits the pan, stir constantly on medium-low heat until the raw vinegar smell softens.
- 6Let the curry rest 10 to 15 minutes before serving; the vinegar, chili, and spices taste more rounded.
- 7This vindaloo tastes even better the next day, so make it ahead if you want a more developed flavor.
Adapt it for your goals.
High-protein
Add extra tofu and reduce the potatoes slightly for a more protein-focused vindaloo with the same tangy spice profile.
low oilLow-oil
Pan-sear the tofu in a nonstick skillet with less oil and sauté the onion base with splashes of water as needed.
mushroomMushroom
Swap the tofu for button mushrooms or oyster mushrooms for an earthier, juicier vegetarian vindaloo.
extra spicyExtra-spicy
Increase the dried red chilies or chili powder if you want a fiercer, more traditional vindaloo heat.
Why this is on our healthy list.
Plant Protein from Tofu
Firm tofu adds satisfying plant-based protein, making the curry more filling and balanced for a vegetarian meal.
Antioxidant-Rich Spice Base
Garlic, ginger, chilies, turmeric, cumin, cloves, and pepper bring aromatic compounds along with depth and warmth.
Vegetable-Based Curry
Onions, tomatoes, potatoes, and coriander leaves add fiber, texture, and a range of micronutrients to the dish.
Frequently asked questions
You can, but browning improves texture and helps the tofu stay intact while soaking up the vindaloo sauce.



