South Africa 231 for 6 (Hendricks 66, Klaasen 59, Tiripano 2-35) beat Zimbabwe 228 (Williams 69, Steyn 3-29, Rabada 3-32) by four wickets

Reeza Hendricks added to his debut hundred with an assured 66 and Heinrich Klaasen registered his maiden ODI fifty as South Africa chased down Zimbabwe's 228 with four overs to spare in Paarl. On the best pitch so far seen in the series, South Africa's frontline bowlers shared the spoils to bowl Zimbabwe out three balls short of a full innings. An inexperienced batting line-up then put in their best performance of the series as South Africa strolled to a four-wicket win.

Dale Steyn's successful return to ODI cricket continued and he led the charge with 3 for 29 in the afternoon, once again bowling with menacing pace. South Africa's opening pair of Hendricks and Aiden Markram then shared in an opening stand of 75, setting the platform for Klaasen's 59 and the unbeaten 25 from Khaya Zondo that guided South Africa to a 3-0 series victory.

While Klaasen marshalled the latter end of South Africa's chase, Hendricks and Markram were in complete control throughout the Powerplay, aided by erratic lines from Zimbabwe with the new ball. Tendai Chatara fed Markram's whips through the leg side and then overcorrected on the off to leak five boundaries in his first two overs.

Hamilton Masakadza cycled through his seamers and then turned to his spinners as early as the eighth over. But on a benign pitch the visiting attack lost their bite. There was accuracy, but not deception from Sean Williams and Brandon Mavuta tried to do a little too much with his variations of legspin, losing control of his length. Hendricks swatted boundaries whenever the young legspinner erred, while Markram skipped out to hit Williams twice down the ground before he was unluckily given out lbw for 42 - there is no DRS in this series, and Umpire Chris Gaffaney missed an inside edge.

Faf du Plessis, returning to action after recovering from the shoulder injury he picked up in the field against Sri Lanka in August, eased himself in with a couple of confident strokes off the front foot but then picked out Craig Ervine at midwicket, pulling at a Mavuta half-tracker.

The dismissal of the South African captain in the 20th over allowed Zimbabwe to build a little pressure in the field, and they might have had an opening when Hendricks was trapped in front of his stumps by Donald Tiripano for 66. Klaasen made sure they didn't. Playing the pull with particular power, he raced to fifty from 59 balls and added 66 with Zondo to put South Africa within a couple of shots of victory.

Klaasen laced two of fours off Kyle Jarvis, but fell attempting a third. Phehlukwayo then fell for a nine-ball duck as Zimbabwe delayed the inevitable, only for Steyn to arrive at the crease and thump the third ball he faced down the ground to end the match. On a pitch not dissimilar from those South Africa might expect to find at the World Cup in England next year, the hosts had finally flexed their batting bench strength a little.

They also got the chance to try out an exciting combination with the ball, with Steyn and Imran Tahir sharing the new ball duties. While there was very little turn for Tahir, his variations of wrist and pace kept the Zimbabwean openers guessing, and soon did for Solomon Mire.

When Craig Ervine feathered his third ball, from Steyn, through to Klaasen and Rabada set Masakadza up with a reverse three-card trick that went yorker, yorker, bouncer Zimbabwe were once again three down in close proximity to the Powerplay. Another low total loomed, but Williams and Taylor went on the counterattack in style.

They added 73 for the fourth wicket, Taylor reaching a significant milestone in the process as he became the third Zimbabwean to reach 6,000 runs in ODIs, after the Flower brothers. Some brilliantly sharp keeping from Klaasen had Taylor stumped for 40, but Williams continued to attack and raced past his previous best of 55 against South Africa.

He eventually played too early to be caught and bowled by Rabada for 69, and with Peter Moor and Elton Chigumbura falling cheaply it was left to Donald Tiripano and Mavuta to boost the score beyond 200. Zimbabwe didn't have quite enough left in the tank to bat through their innings, Tiripano falling for 29 in the pursuit of quick runs with three balls to go. They did at least offer South Africa a reasonable target to chase under lights, and the hosts' top order responded with their most compelling performance of a 3-0 whitewash.

Liam Brickhill is a freelance journalist based in Cape Town