Restaurant-Style Soya Chaap Gravy (Creamy and Spicy)
Soya chaap gravy is a rich North Indian curry that turns soy chunks into a meaty, satisfying dish. It tastes deeply spiced and buttery, with just enough heat to keep you dipping into the bowl.

The gravy comes together in one pan and does not ask for rare ingredients. It is a solid weeknight option when you want something hearty without turning on the oven.
What Makes This Soya Chaap Gravy So Good
The double texture is the real draw here. The chaap gets lightly browned before it hits the sauce, so you get those chewy edges against a velvety gravy.
That sauce borrows its backbone from a makhni-style base (tomatoes, cashew paste, and a little cream), but the spice mix stays north Indian. The result is creamy without being heavy, with a warm finish that builds slowly.
I come back to this one because it tastes like takeout but needs less effort than you would think. Most of the cooking is hands-off simmering, and the leftovers only get better.
Ingredients

- 250 g soya chaap sticks or chunks: use the dried kind, soaked in warm water for 30 minutes, then squeezed dry.
- 3 tbsp oil or ghee: use ghee for a richer aroma.
- 1 tsp cumin seeds: they give the first layer of aroma.
- 1 large onion, finely chopped: about 1 cup once diced.
- 1 tbsp ginger garlic paste: use a 50:50 paste, or grate fresh.
- 1 tsp turmeric powder
- 2 tsp Kashmiri red chili powder: mild heat and deep colour.
- 1 tbsp coriander powder
- 1 tsp cumin powder
- 1 tsp garam masala
- 3 medium tomatoes, pureed: you need about 1 cup of fresh puree.
- 2 tbsp cashew paste: soak 12 cashews in hot water 15 minutes, then blend smooth.
- 1 cup water: plus more for adjusting consistency.
- 3 tbsp heavy cream: use thick fresh cream or malai.
- 2 tbsp butter: salted or unsalted, whatever you have.
- 1 tsp dried fenugreek leaves (kasuri methi): lightly crushed between your palms.
- Salt to taste
Variations and Substitutions
- Make it fully vegan: swap the cream for coconut cream, and use oil instead of butter and ghee. The cashew paste already brings body.
- Skip the cashew paste: use ¼ cup plain yoghurt whisked smooth, but add it off the heat so it does not split.
- Add more heat: slit a green chili and add it with the onions, or double the Kashmiri chili powder and add ½ tsp black pepper.
- No soya chaap handy: thick paneer cubes or even tofu work here. Brown them the same way before adding to the gravy.
If you like this style of sauce, you might also enjoy my mushroom matar masala.
How to Make Soya Chaap Gravy
Step 1: Brown the Soya Chaap

Heat 2 tablespoons of the oil in a heavy pan over medium-high heat. Once it shimmers, add the drained, dry soya chaap pieces in a single layer. Cook for about 4 minutes, turning them once, until the edges turn golden and a few crisp spots appear.
You are not looking for a full sear like meat. A little colour on the outside keeps the chaap from turning mushy later, and it picks up a nutty note from the hot oil.
Step 2: Sizzle the Onion Masala

Lower the heat to medium and add the remaining 1 tablespoon of oil along with the cumin seeds. Let them crackle for 30 seconds, until fragrant and a shade darker. Tip in the chopped onion and a pinch of salt, and cook for 6 to 7 minutes, stirring now and then.
The onion should soften and start to turn a light brown at the edges. At that point, stir in the ginger garlic paste and sauté for 1 full minute, until the raw smell fades.
Step 3: Cook the Spiced Tomato Base

Now add all the dry spices: turmeric, Kashmiri chili powder, coriander powder, cumin powder, and half the garam masala. Stir them into the onion mixture and cook for about 1 minute, just until the spices darken slightly and smell toasty. Splash a spoonful of water if they catch on the pan.
Pour in the tomato puree, the cashew paste, and ¾ teaspoon of salt. Stir well and let the mixture bubble on medium heat for 6 to 7 minutes. The sauce will thicken visibly, and you will see oil beginning to seep out at the sides. That oily gloss is your cue that the masala is cooked through.
Step 4: Simmer the Chaap in the Gravy

Pour in the cup of water and bring the pan to a gentle simmer. Nestle the browned chaap pieces into the sauce, cover the pan, and reduce the heat to low. Leave it for 5 minutes so the chaap soaks up the gravy.
Uncover the pan and stir in the heavy cream, the butter, and the crushed kasuri methi. Let it bubble gently for 2 more minutes, just long enough for the cream to meld into the sauce. Taste and add more salt or the remaining garam masala if you like.
Step 5: Ladle and Finish with a Drizzle

Spoon the hot gravy into a serving bowl, making sure each portion gets a few pieces of chaap. Swirl a little extra cream on top and scatter fresh coriander if you have it. The sauce should look glossy and thick enough to cling to a piece of naan.
Serve right away while the butter is still melting into the gravy.
A Few Notes for Restaurant-Style Gravy at Home
- Let the chaap dry really well after soaking. Extra water makes the pieces steam instead of brown.
- The cashew paste is your biggest helper for a silky texture. Even a 15-minute soak softens cashews enough to blend smoothly.
- Kasuri methi goes in last so its fragrance stays bright. Crushing it between your palms releases the oils.
- A little tang from a squeeze of lemon at the table lifts the creaminess.
Chaap texture changes with how you cook it:
| Method | Texture | Time |
|---|---|---|
| Pan-fry in oil | Chewy with crisp edges | 4-5 minutes |
| Boil in salted water | Soft and spongy | 3 minutes |
Storing Leftover Soya Chaap Gravy
- Refrigerate: in a sealed container up to 3 days. The gravy thickens as it cools, so add a splash of water when you reheat.
- Reheating: is best on the hob over low heat with a loose lid, stirring a couple of times. The cream may separate slightly if you boil it hard; a gentle warm-up brings it back.
What to Serve with Soya Chaap Gravy
Warm butter naan or garlic naan are the obvious picks, and they work because the bread sops up every drop of that thick gravy. A simple cumin rice or jeera rice does the same job in a lighter way. For something fresh, a side of cucumber onion raita cuts through the richness and cools the spice.
Frequently Asked Questions
Can I use fresh soya chaap instead of dried?
Yes. Fresh or frozen chaap usually comes pre-cooked, so you can skip the boiling step and go straight to pan-frying.
Is it possible to make this without onion or garlic?
You can leave them out entirely. The gravy will be a little thinner in flavour, so add a bit more cashew paste and increase the ginger slightly for depth.
How do I get that smoky restaurant taste?
Once the gravy is done, turn off the heat and place a small piece of lit charcoal in a steel bowl. Set the bowl into the pan, pour ½ teaspoon ghee over the coal, and cover the pan for 5 minutes. The smoke settles into the sauce.
Can I freeze the gravy without the chaap?
Yes. Freeze the base gravy after Step 3, before adding water or chaap. Thaw, reheat, then add water and chaap as in Step 4.

Soya Chaap Gravy Recipe
Ingredients
Method
- Heat 2 tbsp oil in a heavy pan over medium-high heat. Brown the chaap for about 4 minutes, turning, until golden at the edges. Remove and set aside.
- Reduce heat to medium, add remaining oil and cumin seeds. Once they crackle, add onion and a pinch of salt. Cook 6-7 minutes until soft and lightly browned. Stir in ginger garlic paste and sauté 1 minute.
- Mix in turmeric, chili powder, coriander powder, cumin powder, and half the garam masala. Cook 1 minute, then add tomato puree, cashew paste, and ¾ tsp salt. Simmer 6-7 minutes until oil separates.
- Pour in the water, bring to a simmer, and add the browned chaap. Cover and cook on low heat 5 minutes. Uncover, stir in heavy cream, butter, and kasuri methi. Simmer 2 minutes. Adjust salt and add remaining garam masala if needed.
- Ladle into a serving bowl, drizzle with extra cream, and top with fresh coriander. Serve hot.
