South African batsman AB de Villiers plays a shot during the cricket One Day International match against Australia in Harare, Zimbabwe. The two teams are in Zimbabwe for a triangular ODI series with Zimbabwe. (AP Photo/Tsvangirayi Mukwazhi)

Harare - A magnificent unbeaten century from AB de Villiers carried South Africa to a seven-wicket victory over Australia in the second game of a one-day triangular series on Wednesday.

De Villiers overcame fatigue and severe cramp in his left leg to hit 136 not out from 106 deliveries as South Africa chased down a target of 328 with 20 balls to spare.

The South African captain was brilliantly supported by Faf du Plessis, who scored his maiden one-day ton as he contributed 106 in a 206-run partnership for the third wicket.