A century from Shai Hope in his first game as West Indies captain helped the tourists to a 48-run win over South Africa at Mercedes-Benz Park.

Hope hit 128 not out from 115 balls to lead West Indies to an imposing total of 335-8, their highest score against South Africa in ODIs.

His opposite number, Temba Bavuma, did even better as he managed 144 from 118 in reply, but a lack of help from elsewhere saw the Proteas fall short of the target.

Openers Brandon King and Kyle Mayers put on 67 for West Indies' first wicket before the latter hit Bjorn Fortuin (2-57) to deep midwicket to the waiting hands of Ryan Rickelton for 36.

Hope and Nicholas Pooran steadied the innings after the further losses of Shamarh Brooks (0) and King (30) with a partnership of 86 before Pooran was dismissed by Gerald Coetzee for 39, but Hope established another solid stand with Rovman Powell (46) through the middle overs.

After Jason Holder went for 15, it looked like Hope may run out of partners as Akeal Hosein (2) and Odean Smith (1) departed quickly, but Alzarri Joseph (13 not out) played a solid supporting role in the final overs as Hope clattered some more crucial runs at the end of the innings.

The Proteas' chase got off to a good start as Quinton de Kock and Bavuma provided 76 for the opening wicket before De Kock was trapped lbw by Mayers for an aggressive 48 from 26 balls.

Bavuma kept things ticking over along with Rickelton (14) and Tony de Zorzi (27), while Rassie van der Dussen (8) and Tristan Stubbs (6) exited quickly as South Africa's captain was also running out of partners.

Marco Jansen (17), Fortuin (1) and Coetzee (1) were not far behind, before Bavuma's innings was finally over when he gloved one from Joseph (3-53) down the leg side and into Hope's waiting hands, with the same duo combining to dismiss Tabraiz Shamsi for a duck to secure victory.

It's the Hope that kills you

Hope seems to thrive in the 50-over game more than any other format, averaging 50.4 with the bat in ODIs – the best of any player for West Indies in the history of the format (min. six innings) – compared to 25.0 in Tests and just 17.9 in T20Is.

The new West Indies captain's unbeaten 128 here was his 14th ODI century, which he reached by clubbing five fours and seven sixes.

Bavuma's brave riposte not enough

It will be little consolation to Bavuma that he outscored Hope, but it was still an innings worthy of acclaim from the 32-year-old.

His 11 fours and seven sixes briefly gave the Proteas a chance, but a lack of support meant he was on a hiding to nothing.