It took the home side just 35 minutes to clinch victory, advancing from their overnight 412 for 8 to the required 438 in 6.4 overs. Free State looked dead and buried when they were bowled out for 67 in their first innings. But they fought back to dismiss the West Indies for 188 and then battled their way to victory.
The hard work was done on Sunday by Cronje and he and the pace bowler, Johan van der Wath, duly completed the task yesterday. The result was a big jolt for the West Indies and a huge boost for Cronje ahead of the first Test in Johannesburg, starting on Thursday.
The beaten captain, Brian Lara, recognising the unhappy situation, said: "In our last two matches our opponents have scored more than 400 runs against us in their second innings and that is something we will have to look at." The tourists' previous game, against Griqualand West, ended in a draw, with the home side reaching 435 for 9.
Cronje paved the way for victory with a brilliant performance on Sunday when he finished on 147. At one stage his ally in victory, Van der Wath, contributed just nine runs as the score moved on by 109.
The West Indies helped dig their own grave by asking for the extra half hour on Sunday evening. In fading light, they were unable to take the second new ball and Cronje milked the spinners for five overs when he would ordinarily have had to face well-armed pacemen.
In all, Cronje was at the crease for 196 minutes, faced 165 balls and hit 14 fours and six sixes in an emphatic display. He was dropped on 157 - with the total on 436 for 8 - by Curtly Ambrose at fine leg off the bowling of Nixon McLean.
Van der Wath, playing in his fourth first-class match, scored 14 of the 26 runs yesterday to finish on 23 not out. The pair put on a Free State record of 135 runs for the ninth wicket, bettering the previous mark of 125. The Free State total was the highest successful fourth innings by a South African team against a touring side, and the second highest in South African first-class history.
There was more bad news for the West Indies after the defeat. The leg- spinner Dinananath Ramnarine, who took 3 for 138 off 29 overs in the second innings, is struggling with a shoulder injury and the tourists may have to call for a replacement.
Final day; West Indies won toss
WEST INDIES - First innings 316.
FREE STATE - First Innings 67.
WEST INDIES - Second Innings 188.
FREE STATE - Second Innings
(Overnight: 412 for 8)
*W J Cronje not out 158
J J Van der Wath not out 23
Extras (b1 w2 nb5) 8
Total (for 8) 438
Bowling: Ambrose 15-3-42-1 (nb3); McLean 14.4-1-62-0 (w1); Dillon 15- 0-89-1 (w1 nb1); Lambert 2-0-13-0; Hooper 14-1-77-2; Ramnarine 29-7-138- 3 (nb1); Chanderpaul 2-0-16-0.