Cape Town, South Africa: Leon Johnson and Marlon Samuels dug in to keep the West Indies in touch after AB de Villiers' century gave South Africa the initiative on day three of the third and final test at Newlands on Sunday.
Johnson and Samuels put on an unbroken 61 for the third wicket to rescue West Indies from the perilous position of 27-2 and leave it 88-2 at stumps, trailing South Africa by four runs.
De Villiers' withering assault brought him 148 from 194 balls and gave South Africa a healthy first-innings lead as it was bowled out for 421.
Morne Morkel and Simon Harmer then removed the West Indian openers in the first hour after the tea break, but Johnson made 37 not out and Samuels scored 26 to haul the tourists toward parity.
"They're going to have to bat last. It's important for two of our batsmen to really dig in, and if two of our batsmen can get centuries then we could see a really interesting match," West Indies manager Richie Richardson said.
South Africa's intention to move the game along was clear when they began the day on 227-3 with De Villiers on 32, as he hit his first ball to the boundary before going to his half-century in just 70 deliveries.
The only way the West Indies was able to contain South Africa was by chipping away at the other batsmen, starting with Hashim Amla who added just eight runs to his overnight score of 55 before he edged a Jason Holder delivery behind.
The West Indies took the second new ball eight overs later, and it had the desired effect when rookie batsman Temba Bavuma's indecision saw him play on off the bowling of Shannon Gabriel for 15.
However De Villiers motored on, and enjoyed a purple patch after lunch when he added 28 runs in 15 balls.
That included 16 runs from one Marlon Samuels over, which saw South Africa move past the West Indies total of 329 and De Villiers reach his century in 144 balls.
"The man is a master. He's full of talent and he just showed everyone how good he is," Richardson said. "He adapted to the conditions and played accordingly. Even though he's someone that we like to watch bat, you don't want him to be at the crease for too long."
Despite De Villiers' quick scoring, the West Indies were able to have a productive second session thanks to two run-outs and two wickets from Marlon Samuels.
At 384-5 South Africa looked set for a huge total, but the offspinner trapped Stiaan van Zyl lbw for 33 before Vernon Philander was run out without scoring in the next over.
That pattern repeated with Simon Harmer out lbw to Jerome Taylor for 10 and Dale Steyn run out for a duck, before De Villiers had one last hurrah and then perished trying to hit Samuels over long-on.