New Zealand dug deep to avoid defeat on day two of the first Test against South Africa as they reached 4-169 at stumps in their second innings.
Captain Brendon McCullum (51) and Dean Brownlie (69 not out) salvaged some pride, helping the tourists to within 133 runs of South Africa at Newlands.
Earlier, the Proteas reached 8-347 before skipper Graeme Smith declared after the lunch break.
Resuming at 3-252 on the second day, South Africa lost day-one hero Alviro Petersen in the second over of play.
Petersen, who notched his fifth Test century on Wednesday, was bowled for 106 by Trent Boult, who finished with figures of 3-78.
Faf du Plessis arrived at the crease and made 15 before he was caught by Kane Williamson off Chris Martin (3-63).
With AB de Villiers (67) in the middle, the runs continued to tick over but as Dean Elgar (21) and Robin Peterson (five) departed, Smith called his players in.
New Zealand's rescue mission got off to the worst possible start when Martin Guptill departed for a duck in the opening over.
Guptill sent Dale Steyn's leg-side delivery straight to Hashim Amla at midwicket, and the threat of another paltry total loomed above NZ's head.
Williamson (15) then fell victim to all-rounder Jacques Kallis (2-19) to leave the tourists at 2-29.
However, McCullum calmed fears of a repeat with an impressive half century that included seven boundaries.
McCullum was eventually trapped lbw by spinner Peterson (1-21) at 3-118 before Daniel Flynn (14) departed later in the day.
Brownlie remained in the middle and continued to chip away at the deficit, hitting 12 fours as he closed the day unbeaten alongside BJ Watling, unbeaten on 10.