Spicy Indian Soya Chunks Curry in 30 Minutes
A bag of dry soya chunks turns into a rich, spicy curry in about half an hour. The pieces soak up a bold tomato-onion masala and develop a satisfying, meaty chew.

It’s the kind of meal I keep coming back to on busy weeknights because it feels like a treat without much effort. No long simmer, no specialty ingredients, just pantry staples and a few minutes of easy cooking.
Why This Curry Became a Weeknight Staple
Soya chunks cost next to nothing and are packed with plant protein. When you cook them this way they taste like you spent far longer in the kitchen, and a single pot feeds four with leftovers.
The base cooks fast. The onion-tomato masala blooms in hot oil until it turns jammy and the spices deepen, and by the time you add the soaked chunks everything comes together in minutes. It’s the kind of reliable dish I turn to when I want something hearty that still feels fresh.
Ingredients

- 200 g dry soya chunks: the small nugget style, often labelled as soya wadi or textured vegetable protein.
- 2 tbsp neutral oil: mustard or vegetable oil both work nicely.
- 1 tsp cumin seeds
- 1 large onion, finely chopped: about 1 cup.
- 1 tbsp ginger-garlic paste: or 1 tsp each finely minced fresh ginger and garlic.
- 2 large tomatoes, pureed: roughly 1 cup of puree; canned crushed tomatoes work in a pinch.
- 1/2 tsp turmeric powder
- 1 tsp red chilli powder: adjust to your heat preference.
- 1 tsp coriander powder
- 1/2 tsp garam masala
- Salt: to taste.
- 1 cup water: plus more for soaking the chunks.
- Handful fresh cilantro, chopped: for finishing.
Variations and Swaps
- Turn it creamy: stir in ¼ cup coconut milk or heavy cream after simmering for a richer sauce.
- Dial the heat up or down: swap the red chilli powder for mild paprika or add a slit green chilli along with the onions.
- Make it with paneer or tofu: skip the soaking, cube 200 g firm paneer or extra-firm tofu, and pan-fry it until golden before adding to the curry in the final simmer.
- Vegan as written: this curry is already dairy-free, so no changes needed.
If you like this style of cooking, try my Chana Masala recipe next.
How To Make Spicy Indian Soya Chunks Curry
Step 1: Rehydrate the Soya Chunks

Bring a kettle or pot of water to a boil. Place the 200 g dry soya chunks in a large heatproof bowl and pour enough boiling water over them to cover by about an inch. Let them soak for 15 minutes while you prep the other ingredients.
You’ll know they’re ready when the chunks triple in size and feel soft when pressed. Drain them in a colander, rinse under cold water, then squeeze each handful firmly to press out as much water as you can. Wet chunks will water down the sauce later, so take your time here.
Step 2: Sauté the Aromatics

Heat the 2 tbsp oil in a deep skillet or kadai over medium heat. Once the oil shimmers, toss in the 1 tsp cumin seeds and let them sizzle for about 30 seconds, just until they smell toasty and start to pop.
Add the 1 cup finely chopped onion and cook, stirring often, for 6 to 8 minutes until the onion turns deep golden at the edges. Stir in the 1 tbsp ginger-garlic paste and cook another minute until the raw smell fades. A few dark brown spots on the onion are a good sign the sweetness is building.
Step 3: Cook the Tomato Base

Reduce the heat to low, then tip in the 2 pureed tomatoes, ½ tsp turmeric, 1 tsp red chilli powder, 1 tsp coriander powder, and a few pinches of salt. Stir well and let the mixture bubble gently, uncovered, for 8 to 10 minutes.
You’ll see the oil start to separate around the sides and the raw tomato smell shift into a deeper, jammy aroma. If the mixture begins to stick, splash in a spoonful of water. The thicker this base gets now, the richer the final curry will taste.
Step 4: Combine and Simmer the Curry

Add the drained soya chunks to the pan along with 1 cup water. Stir everything together, bring the liquid to a boil, then lower the heat to a gentle simmer. Cook for 7 to 8 minutes, stirring once or twice, until the chunks have absorbed the sauce and the gravy thickens slightly.
Taste and adjust salt here. Sprinkle in the ½ tsp garam masala and stir it through. If you prefer a thinner gravy, pour in another splash of water and let it warm for a minute. The chunks should look plump and coated in a glossy red-brown sauce.
Step 5: Spoon and Serve

Turn off the heat and scatter a handful of chopped cilantro over the top. Spoon the curry into bowls while it’s still hot, the red-speckled sauce and bright green herbs catching the light.
It’s perfect over steamed basmati rice or with soft roti. A dollop of plain yogurt on the side cools the heat nicely, and a quick squeeze of lemon right before eating brightens everything up.
A Few Tips for Perfect Soya Chunks Curry
- Squeeze the soaked chunks until they feel damp but not soggy. Any extra water left inside will dilute the masala and make the curry thin.
- Let the cumin sizzle until it pops. Those 30 seconds release an earthy base note that carries the whole dish, skip it and the flavour falls flat.
- Wait for the oil to split around the tomato masala. Tiny puddles of oil at the edges mean the base is fully cooked and much richer tasting, so don’t rush this step.
- Fresh tomato puree makes a sweeter, brighter sauce. If your tomatoes look pale, add 1 teaspoon of tomato paste while they cook for extra depth.
- Taste and salt twice, once in the tomato base and once after the chunks simmer. Soya chunks can soak up salt as they sit, so a final check makes a big difference.
Keeping Leftover Soya Chunks Curry
- Refrigerate: cool the curry completely, then transfer to an airtight container. It keeps well in the fridge for up to 4 days. The sauce will thicken as it sits, so add a splash of water when reheating.
- Reheat: warm gently in a pan over low heat or in the microwave, stirring halfway through. If the gravy looks dry, loosen it with a spoonful of water or a little coconut milk.
- Freeze: portion the cooled curry into freezer-safe containers and freeze for up to 2 months. Thaw overnight in the fridge and reheat slowly.
What To Serve With Soya Chunks Curry
Steamed basmati rice soaks up the spiced gravy without competing, while warm roti or naan catches every last bit of sauce. A simple cucumber raita cools the heat and adds a creamy crunch, and a quick onion salad with lemon and salt cuts through the richness. Keep the sides light so the curry stays the star.
Frequently Asked Questions
Can I make soya chunks curry in a pressure cooker?
Yes. After sautéing the aromatics and tomato base right in the pressure cooker, add the soaked chunks and 1 cup water. Close the lid and cook on high pressure for 3 minutes, then let the pressure release naturally.
How do I keep the chunks from turning rubbery?
The most common mistake is under-soaking. They need a full 15 minutes in hot water to soften all the way through. Squeeze them gently, not hard, so they don’t compact into dense little pellets.
Can I add vegetables to this curry?
Absolutely. Green peas, diced potatoes, or chopped spinach all work well. Add firm vegetables like potatoes with the soaked chunks, and stir in peas or spinach during the last 2 minutes of simmering so they stay bright.
Is this curry freezer-friendly?
It freezes beautifully. Cool the curry completely, portion it into freezer-safe containers, and freeze for up to 2 months. Thaw overnight in the fridge and reheat gently, adding a splash of water if needed.

Spicy Indian Soya Chunks Curry Recipe
Ingredients
Method
- Place dry soya chunks in a bowl, cover with boiling water, and soak 15 minutes. Drain, rinse, and squeeze out excess water firmly.
- Heat oil in a deep skillet over medium heat. Sizzle cumin seeds 30 seconds. Add onion and cook 6-8 minutes until deep golden. Stir in ginger-garlic paste and cook 1 minute.
- Reduce heat to low, add pureed tomatoes, turmeric, red chilli powder, coriander powder, and salt. Simmer uncovered 8-10 minutes until oil separates.
- Add drained chunks and 1 cup water. Bring to a boil, then simmer 7-8 minutes until chunks absorb the sauce. Stir in garam masala and taste for salt.
- Turn off the heat, scatter chopped cilantro over the curry, and serve hot with rice or roti.
