Amla batted through the innings to finish unbeaten on 122 from 132 balls as the Proteas posted 309 for three, before spinners Imran Tahir and Aaron Phangiso took three wickets apiece to bowl Zimbabwe out for 216.
The one-sided nature of the match at the Queen's Sports Club was established right from the beginning as Amla shared a century stand with Quinton de Kock.
While the early starts in Zimbabwean ODIs traditionally give plenty of assistance to the side bowling first and the game began under cloudy skies, the home side's young attack was unable to capitalise on those conditions.
However the left-hander failed to convert a fifty into a century for the first time in his young career when a mishit off the bowling of off spinner John Nyumbu, who was making his one-day debut, saw him depart for 63.
The dismissal prompted a period of slower scoring as Faf du Plessis bedded in and Zimbabwe's spinners dragged the game back, before the batting powerplay sparked the South African innings once more with Du Plessis and Amla taking 40 runs from the five overs.