Pakistan went into tea on day three of the third Test against the Proteas with a deficit of 347.
The first session was dominated by the Proteas, who added over 100 runs to their overnight lead of 212.
Hashim Amla played a superbly measured knock of 71 off 144 balls before losing his wicket to a splendid Hasan Ali delivery.
This allowed De Kock to play his free-flowing game as the pair shared a 102-run stand.
De Kock continued to bat magnificently. He converted his 15th Test half-century into a fourth Test century, lighting up the second innings by equalling his career-best Test score and breaking a personal two-year century drought in Test cricket.
The Proteas were bowled out for 303 out with 40 mins left before tea, leaving Pakistan with a target of 381 for victory.
The Pakistan openers, Imam-ul-Haq (18 not out) and Shan Masood (16 not out) got their second innings off to a decent start and Pakistan walked into tea with 34 runs on the board with all 10 wickets intact.
South Africa 262 (first innings) – Aiden Markram (90), Theunis de Bruyn (48); Faheem Ashraf (3-57), Mohammad Amir (2-36)
Pakistan 185 (first innings)– Sarafraz Ahmed (50), Babar Azam (49), Imam-ul-Haq (43); Duanne Olivier (5-51), Vernon Philander (3-43)
South Africa 303 (second innings) – Quinton de Kock (129) Hashim Amla (71); Shadab Khan (41), Faheem Ashraf (3-42)
Pakistan 34-0 (second innings) – Imam-ul-Haq (18*), Shan Masood (16*)
Pakistan needs 347 runs for victory with 10 wickets in hand.
Photo: Christiaan Kotze/AFP