Jacques Kallis scored a fine century to guide the hosts to an imposing 263 for four on an awkward pitch but there was little to indicate such a feeble collapse from the tourists.
It was the lowest score ever made by West Indies, their previous record standing at 87 against Australia in Sydney 11 years ago. It was also equalled the sixth lowest one-day international score in history.
The defeat also easily surpassed their previous heaviest runs reverse, a loss by 138 runs to Pakistan in Sharjah in the 1999-2000 season.
To rub salt into deep wounds, it was also South Africa's largest runs victory, beating their previous best of 208 against Kenya in 2001-02 at Newlands.
South Africa, fresh from a 3-0 Test series win over their opponents, had started in unconvincing fashion when slipping to 101 for four wickets in the face of disciplined bowling.
Skipper Graeme Smith held the top order together with a determined 53 but Herschelle Gibbs (10), pinch-hitter Robin Peterson (21) and Boeta Dippenaar (1) all fell cheaply.
Kallis and Jacques Rudolph, his partner in a fifth-wicket stand of 162, rebuilt the innings, starting cautiously before an explosion of hitting that saw Kallis finish unbeaten on 109 from 94 balls, his 11th career century. Left-hander Rudolph was unbeaten on 61.
Vasbert Drakes was twice hooked into the Railway Grandstand for six by Kallis in his final over, which cost 22 runs, while spinners Chris Gayle and Ricardo Powell and seamer Corey Colleymore were also belted over midwicket and into the capacity 20,000 crowd.
Opener Gayle (4) started the West Indian decline by holing out to mid-off in the fifth over before Brian Lara was given out lbw to Andre Nel by umpire Darrell Hair, although television replays seemed to show the ball pitching outside leg.
There was no doubt about the rest of the innings, however, which dissolved in 13 more overs.
Shivnarine Chanderpaul top-scored with 14 before driving to mid-on and Ricardo Powell (12), the only other man to reach double figures, hit Lance Klusener for six before edging his next delivery to wicketkeeper Mark Boucher.
Klusener finished his highly publicised return to the national team, after suing the board for not renewing his contract, with bowling figures of 5.2-2-9-3.
Makhaya Ntini, who had Vasbert Drakes caught in barely credible style by Gibbs diving full length at backward point, finished with three for 15 in six overs.
The second game of the five-match series is in Port Elizabeth on Wednesday.