New Zealand seized control of the first Test against South Africa on Wednesday thanks to a stunning spell of three wickets off four balls from paceman Chris Martin.
South Africa ended the day at 191 for seven, with Jacques Rudolph (46) the only recognised batsman left after skipper Graeme Smith and Hashim Amla scored fifties, but the rest of the line-up failed to fire.
South Africa trounced New Zealand in the limited-over series and the Test looked to be heading the same way before Martin triggered a collapse that saw six wickets fall in the final session of a rain-shortened day.
With almost four hours of play lost to the weather, New Zealand captain Ross Taylor looked to have made the wrong call sending South Africa in to bat after winning the toss, as the Black Caps' attack struggled in the first session.
South Africa was 86 for one at tea, with Smith notching up his 31st Test 50 and Amla looking settled on a flat, lifeless pitch that yielded only one wicket, Alviro Petersen (11), for New Zealand's bowlers.
But Taylor's gamble paid off when the clouds cleared and Martin dismissed Smith for 53 in the first over after the break, the batsman driving the ball to debutant Rob Nicol at cover as he attempted a boundary. Martin struck again in his next over, dismissing Jacques Kallis for a duck when the batsman nicked the ball to Taylor at first slip.
A.B. de Villiers became scalp number three in the next ball, trapped lbw for a golden duck when the delivery nipped back sharply, skidding past the bat and crashing into the batsman's pads. De Villiers called for a TV review, which backed the umpire's decision and sent the South African trudging back to the pavilion with South Africa reeling at four for 90.
Martin could not manage a hat-trick when Rudolph came to the crease but his devastating spell lifted the Black Caps, who suddenly looked sharper on the field and more threatening with the ball. Amla kept his cool to steady South Africa, grafting out a valuable 66-run partnership with Rudolph to post his 22nd Test 50.
Doug Bracewell thought he had the batsman caught and bowled on 56 but a television review showed the chance fell just short of the diving bowler's fingers. However, Amla was dismissed in the next over, mis-hitting a Daniel Vettori delivery and sending the ball looping to Taylor in the slips. Mark Boucher (4) was run out when Rudolph, on strike, took off for a single, only for Bracewell to fire the ball back from the field to 'keeper Kruger van Wyk, who broke the stumps.
South Africa — 1st innings: G. Smith c Nicol b Martin 53, A. Petersen lbw b Boult 11, H. Amla c Taylor b Vettori 62, J. Kallis c Taylor b Martin 0, A.B. de Villiers lbw b Martin 0, J. Rudolph (batting) 46, M. Boucher (run out) 4, D. Steyn c Taylor b Bracewell 9, V. Philander (batting) 4; Extras (lb-1, nb-1): 2; Total (for seven wkts in 59 overs): 191.
Fall of wickets: 1-34, 2-86, 3-90, 4-90, 5-156, 1-161, 7-179.
New Zealand bowling: Martin 14-2-34-3, Southee 8-1-32-0, Boult 7-0-54-1, Bracewell 14-2-39-1, Vettori 15-4-31-1, Nicol 1-1-0-0.