Hashim Amla and Rilee Rossouw both hit centuries for the second time in the series to set up a 131-run win for South Africa in the rain affected final one day cricket international in Centurion.
Amla made 133 and Rossouw powered his way to 132 in a South African total of 361 for 5 in an innings reduced to 42 overs because of wet weather.
The West Indies were bowled out for 230 in reply with left-arm pace bowler Wayne Parnell taking four for 42.
The win completed a 4-1 series victory for South Africa in the last match both teams will play before travelling to Australia and New Zealand for the World Cup.
Amla and Rossouw punished a lacklustre West Indian bowling attack as they equalled their South African record for any wicket by putting on 247 for the third wicket.
They set the mark with a first wicket stand in the second match in Johannesburg when both also hit hundreds and provided a platform for AB de Villiers to hit the fastest century in one-day international history.
De Villiers was rested for this morning's game, along with all four of South Africa's first-choice specialist bowlers.
The West Indies sent South Africa in to bat and initially the batsmen struggled to time the ball on a pitch which had spent most of the day under the covers.
Amla took his total for the series to 413 for twice out, scoring his 133 runs off 105 balls with 11 fours and six sixes.
Rossouw took 60 balls to reach his fifty but then cut loose, needing only another 23 balls to post his second international century and only 15 more before he was caught on the boundary.
The West Indies got off to the worst possible start when Kyle Abbott had Chris Gayle caught behind off the first ball of the innings.
Narsingh Deonarine and Dwayne Smith put on 77 for the second wicket and Marlon Samuels and Denesh Ramdin added 91 for the fourth wicket before Parnell sparked a collapse.