South Africa took control of the second Test in Christchurch on day two as Kagiso Rabada and Marco Jansen ripped through the New Zealand top order.

An unbeaten partnership of 66 between Colin de Grandhomme (54 not out) and Daryl Mitchell (29 not out) rescued the Black Caps from 91-5 after the tourists had reached 364 all out in their first innings.

The Proteas resumed on 238-3, but lost four wickets in the first session as Matt Henry and Neil Wagner picked up two each, before Wagner also dismissed Rabada (6) shortly after play resumed.

There was a brief rain delay during the second session that seemed to take the bowlers out of their rhythm as Jansen (37 not out) and Keshav Maharaj (36) added a handy partnership of 62 runs in 13 overs.

New Zealand's reply got off to the worst possible start as Rabada (3-37) struck twice to get rid of Tom Latham for a duck and Will Young for just three. Devon Conway (16) and Henry Nicholls (39) put up some resistance but both ultimately fell to poor shots against Jansen (2-48).

After Tom Blundell came and went, scoring six runs in his six balls, Mitchell and De Grandhomme set about trying to rescue things for their team.

Mitchell ticked over calmly while De Grandhomme hit a 36-ball 50, including two sixes, though was held up after that, mostly by Maharaj's dangerous spin as he scored just four more runs from his next 25 deliveries.

Dean Elgar burned his team's last review with the penultimate delivery of the day as Lutho Sipamla thought he had Mitchell lbw, but replays showed an inside edge as the hosts closed day two still 207 runs behind with five wickets remaining.

Jansen continues impressive start to Test career

This is just the fifth Test Jansen has played in but he is already stepping up in key moments, hitting an impressive 37 not out to add what could be crucial runs at the end of South Africa's first innings, before also doing damage with the ball.

The 21-year-old took an impressive 19 wickets in three Tests against India, and although he and his team-mates all struggled in the first Test in New Zealand, he in particular has come back with a bang at the Hagley Oval.

De Grandhomme rolls back the years

It was a difficult moment to arrive at the crease with his team still 273 runs behind and five wickets down, but the 35-year-old utilised his trademark aggression and attacked South Africa's bowlers, hitting the only two sixes of the Test so far.

This was De Grandhomme's ninth 50 of his Test career, but he has only gone on to score a century once (v West Indies in 2017). New Zealand could really do with him doubling that amount on day three.