Veteran spinner Ravindra Jadeja took four wickets to put India in sight of victory on a manic day two of a low-scoring opening Test on Saturday.

South Africa were 93-7 at stumps to lead by 63 runs in their second innings on an Eden Gardens pitch that has made batting decidedly tricky.

Fifteen wickets fell during the second day and KL Rahul's 39 - from 119 balls - in India's first innings remains the highest individual score of the match.

Proteas skipper Temba Bavuma tried to replicate Rahul's obduracy, making an unbeaten 29. Corbin Bosch, on one, was with him when play was called off due to bad light.

Spinner Simon Harmer had dragged the visitors back into the contest with figures of 4-30 that helped bowl out India for 189 with the hosts taking a slender lead of 30.

"Playing in India you know you will be under pressure and I thought we fought back well today in restricting them," Harmer told reporters.

"Cricket's a funny game, we could be sitting here tomorrow night with a completely different story. South Africa manage to get to 150 and bowl India out for 80."

"If there is one thing that this team has showed it's that they can fight when the backs are against the wall," added Harmer.

Jadeja's 27 was key to India's first innings total and the 36-year-old all-rounder showed the other side of his game with some testing left-arm spin.

South Africa found themselves in a hole when Kuldeep Yadav and Jadeja removed the openers Ryan Rickelton and Aiden Markram either side of the tea break.

Jadeja kept up the pressure as he struck twice in one over to send back Wiaan Mulder, caught behind by Rishabh Pant for 11, and two balls later Tony de Zorzi who was caught off his glove and thigh pad by Dhruv Jurel at short-leg.

He had South Africa in more trouble when he spun the ball sharply to bowl Tristan Stubbs for five to bring the house down at the iconic venue that had over 47,000 fans according to official data.

The biggest cloud on India's horizon was the absence of skipper Shubman Gill who retired hurt on four with a neck problem. He did not return to resume his innings and nor did he field, with vice-captain Pant leading the team.

- India collapse -

Earlier, India lost regular wickets to survive just 62.2 overs in response to South Africa's first innings total of 159.

"Even we didn't expect the wicket to deteriorate so quickly," India bowling coach Morne Morkel said.

"I thought it to be a good wicket in the first couple of overs, but that's the beauty of playing in the sub-continent that you need to adapt and react quickly. We have quality with both seam and spin and that covers both bases."

The hosts resumed on 37-1 with overnight batters Rahul and Washington Sundar, who made 29, extending their partnership to 57 in a grinding first hour.

Pant hit a 24-ball 27 on a pitch with inconsistent bounce and more turn expected.

Sundar hit two fours and one six in his otherwise laboured knock before falling caught behind to Harmer.

RTL

India captain Shubman Gill (C) retired hurt with a neck injury that kept him out of the remainder of the second day's play at Eden Gardens / © AFP

Gill walked out to loud cheers but his stay was limited to three balls as he swept Harmer for a four at backward square-leg and then held his neck in pain.

The physio soon arrived and Gill walked back to the pavilion.

Rahul kept up his hard work from day one when he made 13 off 59 balls and on day two looked more assured until his departure off Keshav Maharaj.

India went into lunch at 138-4 and Jurel started with two fours after the break before Harmer had him caught and bowled for 14 to trigger a collapse.

Jadeja took India into the lead with a boundary but fell lbw to Harmer and India slipped further when pace bowler Jansen had Kuldeep caught behind for one.

Harmer cleaned up Axar Patel to end the Indian innings. Jansen returned figures of 3-35.