They went down 2-1 in the series but the Proteas will be happy to have claimed a win and will look to take this momentum into the three-match T20 series starting on Friday.
The Proteas set the West Indies the biggest total of the series to chase when they finished their 50 overs on 235/6 and were able to defend it well in the end, winning by 35 runs.
Opener Trisha Chetty was named player of the match as she added a second half century to go with her first match 47, while Dane van Niekerk hammered a quick-fire end-ofinnings half century to help them reach their total.
Masabata Klaas 2/33 and Sune Luus 2/30 were the pick of the bowlers as they restricted the West Indies to 200/8 off their 50 overs.
Border star Ayabonga Khaka contributed superbly to the bowling effort as she finally got a match at Buffalo Park.
The West Indies missed their captain and star Stafanie Taylor, who was injured.
Shaquana Quintyne (40) and Merissa Aguilleira (40) were their top scorers, with Shemaine Campbell (27) and Deandra Dottin (25) also adding to the effort.
Dottin was named player of the series.
In the morning session, the Proteas won the toss and elected to bat.
Andrie Steyn and Chetty got them off to a positive start with a 39-run partnership in the first nine overs, before Steyn was bowled for 21 by Shamilia Connell.
Captain Mignon du Preez then joined Chetty at the crease. They took the Proteas past 50 in the 13th over and then brought up their own 50-run stand with the first ball of the 21st over.
The Proteas passed the 100 mark when Du Preez hit Dottin for a boundary at the end of the 22nd over.
The West Indies finally made the breakthrough in the 25th over when Du Preez’s entertaining effort of 43 off 62 balls (7×4) was ended as she was bowled by Quintyne.
Marizanne Kapp then joined Chetty at the crease. A single off the last ball of the 33rd over saw Chetty reach her 11th ODI half century.