Close South Africa 532 (Boucher 122*) and 38 for 0 (Smith 18*, Gibbs 19*) lead West Indies 427 (Gayle 116, Lara 115, Nel 5-87) by 143 runs

Brian Lara scored his 24th Test century, and in the process became the fastest batsman ever to reach 9000 runs, as West Indies continued to fight back strongly on the third day at Cape Town. But Andre Nel's best Test figures of 5 for 87 restricted the Windies to 427 all out, a deficit of 105.

Lara began his innings with uncharacteristic circumspection, taking 23 balls to get off the mark, but reached his hundred with a hooked six off Jacques Kallis, after being stuck on 99 for five overs. He was helped to his landmark by the belligerent debutant Dave Mohammad, who clattered to a run-a-ball 36 with seven fours and a six, which earned him several cautionary words from his captain along the way.

After the turbo-charged start to their innings, West Indies had throttled back and fallen apart in the first session of the day, as South Africa conceded just 59 runs in grabbing three wickets. Chris Gayle, who had enthralled the crowd with a devastating 79-ball century on Saturday evening, demonstrated that valour was the better part of discretion. He lasted just four more overs before offering no stroke to Shaun Pollock, and was adjudged lbw to a ball that might just have nipped off stump (183 for 2).

Ramnaresh Sarwan also fell inside the first half-hour of the day, as he slashed loosely at Nel and picked out Neil McKenzie at backward point for 44 (187 for 3), and when a nervous Wavell Hinds grazed a catch off Jacques Kallis to take his series tally to 34, West Indies were 224 for 4 and in danger of collapsing.

Dwayne Smith, making his debut in place of Shivnarine Chanderpaul, walloped Adams for a pair of boundaries through midwicket, and pulled Pollock's sixth ball after lunch behind square for another four. But he became Andre Nel's third wicket of the innings, when he went fishing outside off stump and offered a regulation slip catch to Kallis (252 for 5),

With the new ball looming, Lara decided a gear change was necessary, and flailed Kallis for three fours in an over to bring up his half-century from 134 balls. Ntini was then crashed both sides of the wicket by Lara, but Ntini exacted his revenge on Ridley Jacobs instead, with a brute of a delivery that hit a crack and reared off a thick outside edge to Pollock at first slip (306 for 6).

Lara saved the follow-on shortly after tea, and in the same over cracked Nel through the gully to register his 9000th run in his 177th innings - two fewer than Sachin Tendulkar had required when he passed the same mark on Friday. Drakes then clobbered Ntini for six over midwicket, before slashing Nel to Mark Boucher, diving in front of first slip (361 for 7).

After Adam Sanford had been run out by a direct hit from Kallis, Lara was the last man out, bowled by Nel as he heaved across the line. But his 115 had ensured that West Indies remained in the hunt with two days to go, even though Graeme Smith and Herschelle Gibbs had rattled South Africa along to 38 for 0 at the close.