A century from Herschelle Gibbs helped South Africa to an eight-wicket victory in the rain-affected fifth ODI in Johannesburg and a 5-0 series whitewash over West Indies.
The tourists gave themselves great hope of avoiding a humiliating series rout as they made 295-7 from their 50 overs.
However, after a lengthy rain delay, South Africa set about reaching their revised target of 211 from 31 overs with some aggressive batting at the top of the order.
Graeme Smith perished early, bowled by Daren Powell for just five, before Gibbs and Kallis came together to put on 175 for the second wicket and carry the Proteas towards victory.
Gibbs made 102 from just 84 balls, cracking three sixes and 13 fours before he was finally removed by Powell.
Kallis also scored at greater than a run a ball, his unbeaten 74 coming from 70 deliveries, while Shaun Pollock chipped in with 10 from 11 balls before hitting the winning runs in his last international.
Devon Smith's rampaging innings of 91 was the mainstay of West Indies' very respectable total.
The big left-hander smashed three sixes and 10 fours, getting his side off to a brisk start before their middle order struggled.
Smith shared a century stand with Shivnarine Chanderpaul before edging a ball from Charl Langeveldt to Mark Boucher with the score at 156-2.
Langeveldt then struck again, trapping Chanderpaul leg before with a fine inswinging delivery to dent West Indies' steady progress.
Dale Steyn, who had taken the brunt of Smith's early onslaught, returned to dismiss Dwayne Bravo for 40 before Runako Morton, Denesh Ramdin and Darren Sammy all departed cheaply.
Rawl Lewis and Patrick Browne took the score towards 300 with some strong hitting, putting on 53 in the last 34 balls of the innings.
However, Gibbs prospered against some loose bowling and Kallis maintained the momentum, before a fitting end to Pollock's final game for his country.