Soya Xacuti
A rich Goan-style curry made with soya chunks in a deeply spiced coconut gravy. Toasted whole spices, poppy seeds, and fresh coconut give it warm flavor and a lovely body that tastes wonderful with rice or poi.
For 4 servings
- prep · ~15 min
Soak the soya chunks.
1.Place the soya chunks in a bowl and pour over the hot water.2.Let them soak for 15 minutes until soft and puffed.3.Squeeze out the water well and keep the soya chunks aside.TIPSqueeze the soya well so the gravy can soak in later. - roast · ~8 min
Roast the xacuti masala ingredients.
1.Heat 1 tsp oil in a pan over medium heat.2.Add the dried red chili, coriander seeds, cumin seeds, fennel seeds, black peppercorns, cloves, cinnamon, green cardamom, star anise, poppy seeds, garlic, ginger, and half of the sliced onion.3.Roast for 3 to 4 minutes until fragrant and lightly colored.4.Add the fresh coconut and roast for 3 to 4 minutes more until lightly golden.TIPKeep the heat medium and stir often so the coconut browns evenly without burning. - mix · ~3 min
Grind the masala paste.
Cool the roasted mixture slightly, then transfer it to a grinder with 1 cup water and the tamarind paste. Grind to a smooth, thick paste.
- saute · ~9 min
Cook the onion and tomato base.
1.Heat the remaining oil in the same pan.2.Add the remaining sliced onion and cook until soft and light golden, 4 to 5 minutes.3.Add the chopped tomato, turmeric powder, and salt.4.Cook until the tomato turns soft and pulpy, 4 minutes. - saute · ~4 min
Add the soya and masala.
Add the squeezed soya chunks and the ground xacuti paste to the pan. Mix well and cook for 3 to 4 minutes so the masala coats the soya and loses its raw edge.
- simmer · ~10 min
Simmer the curry until thick.
Add the remaining 0.5 cup water and bring the curry to a gentle simmer. Cover and cook for 10 minutes, stirring once or twice, until the gravy is thick and the soya is well flavored.
- garnish
Garnish with coriander leaves.
- serve
Serve hot with rice or bread.
What to keep in mind.
7 tips from the recipe — small details that make a real difference to the final dish.
- 1Squeeze the soaked soya chunks really well; excess water will dilute the xacuti masala and keep it from soaking in.
- 2Roast the coconut only to light golden, not dark brown, or the gravy can turn bitter.
- 3Let the roasted spices cool slightly before grinding so the paste becomes smoother and less oily.
- 4If your grinder struggles, add water in small splashes only; a thick paste gives the curry better body.
- 5Cook the ground masala with the soya for a few minutes before adding more water so the raw spice taste disappears.
- 6The curry should finish thick and cling to the soya chunks; simmer uncovered briefly if it looks too loose.
- 7This tastes even better after 30 minutes of resting, when the soya absorbs more of the coconut-spice gravy.
Adapt it for your goals.
Jaggery-balanced
Add a small pinch of jaggery with the tamarind if you prefer a gentler sweet-sour balance without losing the classic spice profile.
mushroomMushroom
Replace some or all of the soya chunks with mushrooms for a softer, earthier version that still works beautifully with xacuti masala.
spicierSpicier
Increase the dried red chilies or add a few peppercorns for a hotter curry that stands up well to rice or poi.
low oilLow-oil
Dry-roast the whole spices first and use a little less oil for sautéing; the curry stays flavorful because coconut and spices provide plenty of richness.
Why this is on our healthy list.
Good Plant Protein Base
Soya chunks make this curry filling and protein-rich, which helps turn the dish into a satisfying vegetarian main.
Spice-Rich Aromatics
Coriander, cumin, fennel, pepper, ginger, and garlic bring strong flavor so the curry tastes robust without needing heavy cream.
Coconut for Satiety
Fresh coconut gives the gravy body and richness, making a small serving feel satisfying alongside rice or bread.
Frequently asked questions
Usually they were not squeezed well after soaking or were not simmered long enough in the masala. Removing excess soaking water helps the xacuti gravy get absorbed.



