The hosts were in trouble chasing a mammoth total before Miller scored a brilliant unbeaten 118 in 79 balls to help Proteas win by four wickets.
Earlier, Australia won the toss and posted 371 for six on the back of centuries from opener David Warner (117) and captain Steve Smith (108).
Australia dealt huge below ahead of South Africa tour
South Africa started brilliantly, thanks to Quinton de Kock quickfire 70 at the top of the innings, but lost their way after losing three quick wickets in space of seven overs and reduced to 179 for four in the 24th overs from 140 for one in the 18th over.
However, an unbroken seventh-wicket stand of 107 between Miller and all-rounder Andile Phehlukwayo (42 not out) saw them home against Australia's inexperienced attack.
The hard-hitting Miller blasted 10 fours and a six after going into the game with a question mark hanging over his place, having not passed 50 in 19 previous innings.
Smith confident Starc ready for South Africa Test
Australian openers Warner and Aaron Finch (53) bludgeoned their way to 110 for nought in 13 overs while captain Smith was more measured as he struck his sixth one-day ton.
The trio were particular severe on Dale Steyn (2-96) and fellow seamer Kagiso Rabada (1-86). Leg-spinner Imran Tahir (2-54) was the pick of the home bowlers.
The fourth match of the series will be played in Port Elizabeth on Sunday before the series ends in Cape Town on October 12.
COMMENTS (1)
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ