However, Amla and Rilee Rossouw took the game to the New Zealand bowlers and quickly established a strong partnership at the crease.
Amla passed his half-century off 54 balls as he guided his side over the 100-run mark, while the duo soon reached their 100 partnership as Rossouw brought up his 50 off 81 deliveries.
Both players continued to find the boundary with regularity helping their side push past 200 runs, while Alma brought up his century – the 20th of his one-day international career – off 104 balls.
Rossouw looked to be on his way to joining him, but he fell for 89, as the partnership of 185 was broken by McClenaghan, while skipper AB de Villiers departed cheaply.
Amla was then bowled by Adam Milne for 124 and the Proteas was forced to scrap to post a total over 300 as they reached 304-7 at the end of their 50 overs.
The duo guided their side over the 100-run mark at a rate of just under five runs an over as Latham reached 50 off 57 deliveries, but Williamson was to fall for 47.
Martin Guptill helped rebuild the partnership but as the Kiwis approached the 150 mark they lost three wickets in succession as Guptil, Latham and Grant Elliott all departed.
Milne and McClenaghan made a late effort, but the Kiwis were to fall 21 runs short of their target as South Africa held their nerve to seal the victory.