Free-wheeling Cronje leaves Windies in pre-Test turmoil.
It took the home side just 35 minutes to clinch victory, advancing from their overnight 412 for eight 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 as Cronje lifted his men to 412 for eight and he and paceman Johan van der Wath duly completed the task yesterday.
The result was a terrific jolt for the West Indies and a huge boost for Cronje ahead of the first Test in Johannesburg starting on Thursday.
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 nine.
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 halour 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 welrmed pac emen.
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 eight 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 needed on Monday 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 Africa n first-class history.
There was more bad news for the West Indies after the defeat. Leg-spinner Dinananath Ramnarine, who took three for138 off 29 overs in the second innings, is struggling with a shoulder injury and the tourists may have to call for a replacement.