South Africa could make only 58 for eight in their 13 overs after being sent in to bat, but the West Indies had to survive a ferocious onslaught by in-form fast bowler Dale Steyn before sealing victory with 19 balls to spare.
Steyn took four for nine in his three overs to strike a warning to the tourists ahead of a three-Test series which starts at the same ground on December 26.
South Africa were effectively put out of the contest when they slumped to 12 for six and then 22 for seven against lively fast bowling and good fielding in seam-friendly conditions.
Johan Botha, batting at number nine, top-scored with 28 not out to give the innings some respectability.
He was the only batsman to reach double figures. His two sixes and two fours were the only boundaries of the innings. Extras made the next biggest contribution with 13.
Taylor took three for six in his three overs, the maximum allowed in the shortened game.
South Africa captain Shaun Pollock said the early collapse put his team on the back foot.
"But we got something of a total and then we made a real game of it. It should be a good battle of the fast bowlers in the Test series," said the veteran.
West Indies skipper Dwayne Bravo said: "It was a fantastic team effort. What made it so special was the way we fielded."
South Africa scored five runs in the first over - four of them from leg byes - but then lost four wickets in seven balls without adding another run.
Taylor struck with his first two deliveries, trapping Morne van Wyk leg before with a slower ball and then bowling JP Duminy with a fast, straight ball.
With the last delivery of the over AB de Villiers was bowled when the ball rebounded off his defensive stroke.
Herschelle Gibbs was caught by a diving Shivnarine Chanderpaul at mid-on off the first ball of Daren Powell's next over. Two run-outs, including a superb direct-hit effort by captain Dwayne Bravo, plunged South Africa into an almost hopeless situation.
Brenton Parchment hit the first ball of the West Indian innings from Shaun Pollock for four and then charged down the pitch to hit the fourth ball for a huge six over long-on. He was caught at cover off the last delivery of the over.
The West Indies were 29 for one after three overs before Steyn came into the attack and rocked the West Indians.
All four of his victims were bowled by yorkers, one of them a slower delivery which deceived Marlon Samuels. The other three beat the batsmen with express pace.