The Second Test match at Queens Sports Club in Bulawayo unexpectedly sprang to life in the final session as South Africa, 100 runs ahead, caught Zimbabwe on a pitch that appeared suddenly to have crumbled at one end.

However, determined batting by Hamilton Masakadza and Andy Flower saw Zimbabwe through to a draw against their neighbours for the first time, leaving Shaun Pollock's team to rue their failure to pursue runs more vigorously.

Probably both teams took the field with no real expectation of a meaningful day's play, except in the matter of personal records, thanks to South Africa's lack of drive on the fourth day that left them still 119 runs behind Zimbabwe at the start of play.

Overnight batsmen Jacques Kallis and Neil McKenzie obviously had their eyes on centuries, and with Kallis on 81 and the faster-scoring McKenzie on 74 overnight, on the placid pitch against Zimbabwe's pop-gun bowling attack, without the injured Paul Strang, it was largely a question of who would get there first.

Kallis made all the early running, reaching the nineties by driving Raymond Price for a straight six, and then his century by hammering a short ball from the same bowler through the covers for four. He then opened out even more, but lost McKenzie for 88, trapped lbw by Travis Friend after a partnership of 181. South Africa were 343 for three.

The loss of McKenzie quietened Kallis somewhat, and Zimbabwe believed they had him caught down the leg side off Guy Whittall on 118, but the appeal was rejected. Boeta Dippenaar (11) holed out in the covers trying to get after Price, while Lance Klusener showed little of his renowned aggression before lunch.

The match meandered along aimlessly afterwards, with South Africa content to wait for the runs to come and Zimbabwe seemingly devoid of any ideas to take wickets. Klusener (27) did make one or two lusty blows before slicing Price to slip, and when Pollock took two off the first ball he faced, South Africa had finally taken the lead.

While Kallis lumbered along, Pollock settled in and then began to hit out. Price bowled on, passing Paul Strang's Zimbabwe record of 69 overs bowled in an innings, and took his fifth wicket when Pollock (41 off 57 balls) cut him for Stuart Carlisle at backward point to take a fine diving catch. Mark Boucher also batted positively for his 14 before being bowled by Friend, who in his next over bowled Claude Henderson (0).

At this point Pollock declared, at 519 for eight, a lead of exactly 100, leaving Kallis stranded on 189, in almost ten hours, and Price stranded on 79 overs. Kallis did actually set a new world record of 1 028 minutes, during which he scored 388 runs, since he was last dismissed in a Test match - officially at least, as Zimbabweans still have memories of his being caught at the wicket in Harare and given not out, as well as an unconfirmed leg-side catch in this match.

In Zimbabwe's token innings, starting after tea, Pollock began with a spate of no-balls, but as soon as Henderson came on he produced a superbly flighted ball that just dislodged Dion Ebrahim's off bail; he made 4, and Zimbabwe were 21 for one. At 38 Alistair Campbell (20), who had looked sound, was caught at short leg off Henderson, as South Africa began to apply pressure. On a turning pitch, Henderson was looking dangerous.

Masakadza fought back with some positive, if sometimes nervy, strokes, as South Africa scuttled through their overs with Henderson and Klusener, bowling off-cutters, in tandem. Carlisle (4) top-edged a sweep off Henderson to be caught at long leg, and a few minutes later South Africa believed they had Masakadza caught at the wicket off another sweep.

The runs now dried up as Zimbabwe concentrated on survival. Masakadza took Henderson while Andy Flower handled Klusener, declining to change ends and only awaiting the bad ball. When Masakadza (42 not out) swung Henderson for a six and four to square leg in one over, taking Zimbabwe to four runs of parity, South Africa accepted a draw.