West Indies 97 and 82 for 4 (Chase 21*, Blackwood 10*) trail South Africa 322 (de Kock 141*, Holder 4-75) by 143 runs
South Africa were six wickets away from an innings victory in the first Test in St Lucia after Quinton de Kock's career-best 141 not out gave them a lead of 225. In his first innings since being relieved of the captaincy, de Kock batted with freedom and assurance to take South Africa to their third total over 300 in their last nine Tests.
After de Kock brought up his sixth Test century, and first since October 2019, Kagiso Rabada and Anrich Nortje took two each to leave West Indies well behind on a surface that had improved for batting. Though there was early seam movement on offer, it lessened as the ball got older and West Indies' attack was unable to cause the same problems they encountered on day one.
The hosts were also less disciplined in line and length than their visitors and only Roston Chase conceded at fewer than three runs an over. Contrastingly, across both West Indies innings so far, only Nortje's economy rate was above three runs an over. And West Indies had to contend with the brilliance of de Kock, who appeared unburdened from last season, when leadership weighed on him.
de Kock set the tone when he cut the first ball of the day, short and wide from Kemar Roach, through point for four and then drove the last ball of the over, full on middle, past mid-off for four more. It took West Indies five overs to find their rhythm and they conceded 24 runs in that period, before Jayden Seales sent down a maiden.
Kraigg Brathwaite took that as his cue to introduce spin and brought Chase on at the other end. In his second over, Chase almost got rid of de Kock, who missed a sweep, was hit on the pads and given out lbw by Gregory Brathwaite but reviewed. Replays showed de Kock, on 23 at the time, gloved the ball onto his pad and the decision was overturned.
Jason Holder kept the pressure on with a tight line outside off and was rewarded with the wicket of Rassie van der Dussen, who outside-edged to gully before Brathwaite brought back Roach and Seales for bursts before lunch. Seales was particularly impressive, testing Wiaan Mulder with outswingers and inducing the edge, but the chance fell short of Holder at second slip. Mulder made it to lunch but was dismissed in the third over after the break when he half-heartedly attempted a backfoot punch of Holder and was caught behind.
de Kock brought up fifty in the over after that, with a push through the covers, off 98 balls. He almost lost another partner in Keshav Maharaj five balls later when Rahkeem Cornwall reviewed for a catch at short leg but the ball ballooned up off the front pad. But the bowler didn't have to wait long to get the same dismissal: Maharaj inside-edged the next ball he faced from Cornwall to concussion substitute Kieran Powell, who took a superb one-handed low catch and brought the South African tail in to bat.
West Indies took the second new ball as soon as it became available and de Kock duly drove Roach for four. Rabada was less convincing and managed to clear Seales over the slips for a boundary but edged Roach to Holder at second slip four balls later.
It could easily have unraveled for South Africa from there and de Kock shifted gears in anticipation. He slogged Seales or four and then plundered two sixes off the next three balls to suggest he wanted to get big runs quickly. But Nortje hung tough and worked well to keep de Kock on strike, with the pair refusing singles more than taking them. They shared in a stand of 79, the joint-highest of the match so far.
Nortje was at the other end when de Kock smashed Kyle Mayers over square leg to reach his century. He celebrated the milestone in the same way he did his fifty, with a gesture for rhino conservation, in which he held his bat sideways to show a Rockwood sticker - an organisation involved in saving the rhino - and made a signal with his hand, with ring finger and thumb joined and the other three fingers spread. de Kock was the only South African in the XI not to make a gesture for anti-racism at the start of the match.
Reaching the hundred freed de Kock up even more and he cleared the rope twice more against Cornwall. Then, on 118, he top-edged Holder to fine leg where Mayers took the catch, but Holder had overstepped. To add insult to injury, de Kock went on to his highest score in Test cricket with a pull over deep square, off Holder.
Holder had some cheer when Nortje lobbed a catch to Shai Hope at gully and Lungi Ngidi nicked off. In-between those dismissals de Kock boshed him over extra cover for six, his seventh of the innings, the joint-most by a South African in Tests with AB de Villiers.
de Kock did not initially take the field with South Africa and Kyle Verreynne stood in as wicket-keeper for the first six overs. Verreynne was behind the stumps when Dean Elgar called for a review after Rabada hit Brathwaite on the front pad and Joel Wilson gave it not out. Hawk-Eye showed that the ball would have gone on to hit middle stump.
The gloves had returned to de Kock when Powell ducked into a Rabada short ball and had to be checked for concussion. Rabada would not let up and hit Powell on the knee roll with an inswinger - Elgar reviewed again, but without success. Rabada eventually got what he wanted when Powell missed a flick and was given out lbw, confirmed on review.
Nortje's spell had started by then and he was soon in on the action. He had Hope caught at third slip, surprised by the lack of bounce on a back-of-a-length delivery, and Mayers going the same way to leave West Indies 51 for 4. Chase and Jermaine Blackwood took West Indies to the close but have plenty more to do on the third day.

Firdose Moonda is ESPNcricinfo's South Africa correspondent