Port Elizabeth - Kraigg Brathwaite and Marlon Samuels hit half-centuries as the West Indies fought back on the third day of the second Test against South Africa at St George's Park on Sunday.
Brathwaite made 65 not out and Samuels was unbeaten on 60 as the West Indies reached 144 for two in reply to South Africa's 417 for eight declared.
Morne Morkel was the only successful South African bowler, taking two wickets in two balls.
He ended a 55-run opening partnership between Brathwaite and Devon Smith by having Smith caught at first slip, with Leon Johnson edging the next delivery to third slip.
Bad light ended play with 16 overs remaining after rain delayed the start of play by an hour.
With most of the second day lost to rain, South Africa were hoping to score quick runs on Sunday morning before making inroads into a potentially fragile West Indian batting line-up. But they were frustrated on both counts.
The West Indies took four wickets before lunch, including the prize scalps of Amla and AB de Villiers, who were dismissed in successive overs.
Only 80 runs were scored during the morning but Dale Steyn went on the rampage after the interval, thrashing 58 off 28 balls with six fours and five sixes. Amla declared when Steyn was caught attempting another big hit off left-arm spinner Suleiman Benn.
Amla hit two fours in the first over of the day, bowled by Jerome Taylor, but only added ten to his overnight score of 23 before he was trapped leg before wicket by a ball from Jason Holder which nipped back off the pitch.
New cap Temba Bavuma scored a boundary off his first ball, when a defensive shot flew to third man off a thick edge from Holder but De Villiers was out in the next over, bowled by Taylor.
De Villiers survived a failed review after a leg before appeal was turned down by umpire Paul Reiffel but was bowled next ball when he tried to work a full-length delivery to leg.
The scoring rate slowed as Bavuma and the similarly inexperienced Stiaan van Zyl, playing in his second Test, could only add 21 in 10.2 overs before Bavuma (10) gloved a bouncer from Shannon Gabriel to wicketkeeper Denesh Ramdin.
Van Zyl made 29 before he was caught behind, playing a loose drive against the left-armed Kenroy Peters.
Steyn transformed the tempo of the innings as he launched a brutal assault on fellow fast bowler Taylor immediately after lunch. He reached his second Test fifty off 26 balls, the joint fourth fastest in Test history.
Brathwaite and Smith made a solid start, seeing off the new ball pairing of Steyn and Vernon Philander. The tall Morkel troubled Smith several times after coming on as first change and finally tempted the left-hander into edging a drive to Hashim Amla at first slip. Johnson followed immediately.
Samuels batted soundly but had an escape on 20 when he was given out lbw to Morkel by umpire Reiffel but a review showed the ball was going a centimetre or two above the stumps.