South Africa made two changes from the team that won the first match in the five-game series at Centurion by 164 runs Sunday.
Batsman Herschelle Gibbs returned in place of Loots Bosman after completing a suspension for using insulting language during the first Test against Pakistan last month.
Swing bowler Charl Langeveldt came in for left-arm spinner Robin Peterson on a pitch which usually has more pace and bounce than other grounds in South Africa.
Pakistan also made two changes for the day-night match. Imran Nazir replaced fellow opening batsman Mohammad Hafeez while all-rounder Azhar Mahmood came in for fast bowler Mohammad Sami.
Mahmood, who was not included in Pakistan's 30-man provisional squad for the World Cup, was called up as a replacement for the injured Shabbir Ahmed and only arrived in South Africa Tuesday.
He was rushed straight into his first One-day international in two years.
South Africa: Graeme Smith (captain), AB de Villiers, Jacques Kallis, Herschelle Gibbs, Ashwell Prince, Justin Kemp, Mark Boucher, Shaun Pollock, Andre Nel, Charl Langeveldt, Makhaya Ntini.
Pakistan: Inzamam-ul-Haq (captain), Imran Nazir, Kamran Akmal, Younis Khan, Mohammad Yousuf, Shoaib Malik, Azhar Mahmood, Shahid Afridi, Abdul Razzaq, Rana Naved-ul-Hasan, Mohammad Asif.
Umpires: Steve Bucknor (WIS), Brian Jerling (RSA). TV umpire: Rudi Koertzen (RSA).
Match referee: Chris Broad (ENG).