CLICK HERE for LIVE SCORING
The 20-year-old left-hander made the most of a dropped catch at slip by Mohammad Hafeez off Sohail Tanvir when on only two with a 135-ball 112 to bolster South African innings who won the toss and opted to bat on a flat Sheikh Zayed Stadium pitch.
De Kock lifted lanky paceman Mohammad Irfan over long-on for a big six to reach the three-figure mark off 127 balls, anchoring the innings with a 87-run opening stand with Hashim Amla (46) and another 69 for the third wicket with skipper AB de Villiers who made 40-ball 30.
In all De Kock hit nine boundaries and a six during his attractive knock.
Pakistan, seeking to level the five-match series after going 2-1 down, also missed a golden opportunity to run out Amla on 13, when skipper Misbah-ul Haq failed to break the stumps with the batman well short of his crease on a single.
Amla was finally dismissed by Hafeez, bowled in an attempt to run the ball to third man in the 19th over. Amla hit six boundaries off 50 balls.
De Kock continued in the same vein, reaching his maiden fifty off 68 balls.
Irfan had Faf du Plessis for ten but De Kock and De Villiers countered the bowling with confidence, adding 35 in the five batting power-play overs before both fell to paceman Junaid Khan in the space of ten runs.
De Villiers miscued a lofted shot and was caught at covers while De Kock hit straight into the hands of mid-off in the 43rd over.
Ryan McLaren (28) and Jean-Paul Duminy (25) added a quickfire 52, hitting two sixes off Saeed Ajmal's 49th over.
Khan finished with 2-42 while Hafeez took 2-34.
Pakistan made two changes from the side which lost the third match here by 68 runs on Wednesday, leaving out Wahab Riaz and Umar Amin for Sohaib Maqsood and Khan. The 26-year-old Maqsood made his one-day debut.
South Africa, who won the first match by one run in Sharjah but lost the second by 66 runs in Dubai, remained unchanged.The Proteas currently lead 2-1 in the five-match series and will take an unassailable lead if they win on Friday.
Misbah-ul-Haq (captain), Ahmed Shehzad, Asad Shafiq, Junaid Khan, Mohammad Hafeez, Mohammad Irfan, Saeed Ajmal, Shahid Afridi, Sohaib Maqsood, Sohail Tanvir, Umar Akmal
AB de Villiers (captain, Hashim Amla, Quinton de Kock, Jean-Paul Duminy, Faf du Plessis, Imran Tahir, Ryan McLaren, David Miller, Morne Morkel, Dale Steyn, Lonwabo Tsotsobe.
Umpires: Ahsan Raza (PAK) and Steve Davis (AUS)
TV umpire: Richard Illingworth (ENG)
Match referee: Ranjan Madugalle (SRI)