The innings was built on two century partnerships at far better than a run a ball on an excellent batting pitch on Sunday.
Captain Graeme Smith (72) and AB de Villiers (67) gave South Africa an explosive start, putting on 140 off 112 balls for the first wicket.
But that was made to seem relatively pedestrian as Jacques Kallis (88 not out) and Mark Boucher (78) hammered 128 off 66 balls for the fifth wicket, with Boucher making his runs off just 38 balls.
It was the seventh highest total in One-day internationals and the highest conceded by Pakistan, whose previous worst was 363 for seven by England at Nottingham in 1992.
The Pakistan bowlers took a pounding and made their situation worse by sending down 16 wides and nine no-balls.
Smith and De Villiers gave South Africa a flying start before the introduction of spin in the 19th over brought two wickets and a slowing down of the scoring rate.
Smith charged down the pitch and was stumped by Kamran Akmal off the second ball from off-spinner Mohammad Hafeez after bludgeoning 72 off 47 balls.
The South African captain hit 15 boundaries, including six in succession off Rana Naved-ul-Hasan, who conceded 27 runs in a nightmare over which included two wides and a no-ball.
Smith's innings followed his unbeaten 70 off 40 balls in Twenty20 international at the Wanderers in Johannesburg Friday.
Loots Bosman, who partnered Smith in a ten-wicket win in the 20-overs match, lasted only three balls before he was caught behind off Hafeez.
De Villiers holed out to deep midwicket off Shahid Afridi five overs later and a period of consolidation followed as Kallis and Ashwell Prince (39) put on a relatively slow 68 off 84 balls.
But Boucher joined Kallis and thrashed nine fours and four sixes.
Mohammad Asif, the most impressive Pakistan bowler in an opening spell in which he conceded 33 runs off eight overs, gave up 28 runs in his only other over, including two sixes and two fours by Boucher, a four by Kallis and two no-balls.
Hafeez and Razzaq both conceded 22 runs in a single over as the batsmen cut loose, scoring 146 runs off the last ten overs.
Pakistan captain Inzamam-ul-Haq returned to the side after recovering from a back injury. His decision to send South Africa in was based on a good record for teams chasing targets at Centurion but South Africa's batting spree meant Pakistan were required to beat their own highest score in One-day internationals, 371 for nine against Sri Lanka in Nairobi in 1996/97.