Mayank Agarwal continued his fine form as his century helped India take a commanding position at the end of day one of the second Test against South Africa.

Agarwal - who amassed 215 in the first innings of the first Test as India claimed a resounding win - hit 108 from 195 deliveries in Pune on Thursday.

He was ably supported by Cheteshwar Pujara (58) and India captain Virat Kohli (63 not out), as the hosts reached stumps on 273-3.

There was one bright spot for South Africa, with Kagiso Rabada taking all three of their wickets, although the paceman will need support if Faf du Plessis' side are to prevent India posting a huge total.

While Agarwal took some time to get into his stride, his partner Rohit Sharma was swiftly on the attack before his wicket fell when Rabada drew an edge that carried through to Quinton de Kock.

Three boundaries in one over saw Agarwal take the fight back to South Africa before lunch, however, and he brought up his fifty with a perfectly timed cut shot early in the afternoon session.

Pujara was looking equally as sharp at the other end, registering his half-century in style with two fours following a six.

The partnership ended when Rabada struck again, Pujara fishing at a wide, short delivery the he edged to Du Plessis.

Keshav Maharaj was smashed for two successive maximums as Agarwal moved on to 99 - India's opener steering Vernon Philander for a boundary to surpass 100 in the next over.

Agarwal's innings was halted by Du Plessis' smart catch from another Rabada delivery soon afterwards, though Kohli took up the mantle - scoring 26 off 19 balls to bring up another half-century and steer India into a strong position heading into day two.