First of all put soya chunks in lukewarm water along with salt and keep aside for 10-15 minutes, now put the soya granules in lukewarm water for 10-15 minutes.
After 10-15 minutes take out the soya chunks and soya granules from water and press gently with hands so excess water will be removed and keep both in separate bowls.
Now heat oil in a kadai and fry the soya chunks then take out in a bowl, now take a mixer jar and put in fried onions, cashew nuts, 1 tbsp curd and grind it to make paste.
Now heat oil and ghee both in a kadai then add in green cardamom, Myristica fragrans, bay leaf, cinnamon, cloves, star anise, black peppercorns, black cardamom, while adding spices keep the heat low so spices can release nice fragrant in oil.
Now add in whipped curd and lower the flame, cover and cook for it till curd releases ghee or moisture of curd get evaporated, now add in ginger garlic paste, turmeric powder, red chilli powder, coriander powder, kashmiri red chilli powder, salt and saute all the spices and ingredients for few minutes.
Now add in curd and fried onions paste made earlier along with soya granules and cook it for little time then add in soya chunks, tomatoes and water as per required, cover and cook it till gravy releases oil.
When gravy releases oil or oil comes on top open the lead and add in garam masala again cover and cook for 1 minute, after 1 minute turn the heat off and take out the delicious soya chunks curry in a serving plate and garnish it with some fried onions and dry red chillies.
You can serve this delicious curry with roti, naan or kulcha and enjoy.