Kagiso Rabada bowled a superb opening spell as India was reduced to 71-3 (23 overs) at lunch on day one of the third cricket test against South Africa on Saturday.

Rabada bowled with good pace and his movement with the new ball troubled India's top-order. He took 2-15 in seven overs.

India had won the toss and opted to bat but soon slumped to 16-2.

India's Rohit Sharma bats during first day of the third and last cricket test match between India and South Africa in Ranchi, India, Saturday, Oct. 19, 2019. (AP PhotoAijaz Rahi)

India's Rohit Sharma bats during first day of the third and last cricket test match between India and South Africa in Ranchi, India, Saturday, Oct. 19, 2019. (AP PhotoAijaz Rahi)

Mayank Agarwal was the first to go, caught at slip off Rabada in the fifth over for 10.

The paceman then immediately troubled Cheteshwar Pujara, ultimately trapping him leg-before-wicket for a nine-ball duck in the ninth over.

It continued to be an engrossing battle as captain Virat Kohli came to the crease to join Rohit Sharma, who survived an lbw DRS shout thanks to inside edge.

South Africa's Anrich Nortje, second left, celebrates with teammates the dismissal of India's captain Virat Kohli during the third and last cricket test match between India and South Africa in Ranchi, India, Saturday, Oct. 19, 2019. (AP PhotoAijaz Rahi)

South Africa's Anrich Nortje, second left, celebrates with teammates the dismissal of India's captain Virat Kohli during the third and last cricket test match between India and South Africa in Ranchi, India, Saturday, Oct. 19, 2019. (AP PhotoAijaz Rahi)

Kohli and Sharma added 23 runs for the third wicket before Anrich Nortje (1-28) struck for the Proteas, dismissing Kohli lbw for 12 as his maiden wicket in test cricket. The Indian skipper opted for DRS but the review was turned down on umpire's call — Kohli's ninth successive unsuccessful DRS review in tests since 2017.

India was in trouble at 39-3 as Ajinkya Rahane came to the crease.

At the break, Rahane was unbeaten on 11 runs while Sharma was batting on 38 not out. They put on 32 runs for the fourth wicket and helped push the score past 50-mark.

Just before lunch, Sharma was lucky again as Zubayr Hamza dropped him off debutant spinner George Linde.

India took an insurmountable 2-0 lead in the three-match series after comprehensively winning the first two tests in Visakhapatnam and Pune.