After South Africa made 409 in their first innings, Pakistan were bowled out for 156 and forced to follow on. The visitors could not have made a worse start to their second innings, losing a wicket off the first delivery as they reached 14 for one at stumps on the second day.
Dale Steyn had Mohammad Hafeez beaten for pace and he stuck his bat out and got an inside edge which uprooted his middle stump.
Keeping it tight, Steyn and Vernon Philander applied relentless pressure as South Africa continued to dominate the series.
Azhar Ali, who opened with Hafeez, and Younus Khan – who only had a 10-minute break between his two innings – had to endure nine overs before stumps and were not out on five and eight respectively.
But the day belonged to Abbott who took seven for 29 in the first innings.
Roped in at the last minute, after Jacques Kallis strained his calf in the nets, Abbott's bowling figures were the second best by a South African on debut after Lance Klusener took eight for 64 in the second innings against India in Kolkata in 1996.
At one stage, Abbott was on a hat-trick after he struck twice with consecutive balls. For his fourth wicket, Sarfraz Ahmed was caught by Graeme Smith at first slip and, in what looked like an action replay, Saeed Ajmal went out the same way off his next delivery.
Pakistan's debutant, Ehsan Adil, managed to block the third ball.
Younus was the lone ranger in the touring side's first innings, sticking it out for two-and-a half hours and scoring 33 off 86 balls.
The innings was marred by all the referrals. There were several low catches which umpire Billy Bowden referred upstairs for rulings and, on lbw decisions, the Pakistan batsmen, understandably in the circumstances, were reluctant to walk.
Imran Farhat survived one appeal but had no answer to Philander, when he was bowled lbw for 30.
Dean Elgar took a low catch in the gully to dismiss an unhappy Hafeez (18) giving the rookie his first Test scalp.
There was no disputing the next wicket when Azhar played onto his stumps. Philander got the ball to nip away from Azhar (six) and found the inside edge onto the stumps.
Misbah-ul-Huq (10) was caught at second slip by Alviro Petersen but the decision had to be taken upstairs and delayed Abbott's celebration of his second wicket.
In the morning session, AB de Villiers had reached his century and Philander achieved his highest Test score, as South Africa became the first side to make over 400 runs in the series to date.
Resuming on 334 for six, and with De Villiers on 98 overnight, it took him seven balls to reach his 16th Test century, and third against Pakistan.
He was eventually caught in the deep by Asad Shafiq for 121, after facing 215 deliveries and smashing 15 boundaries.
Philander brought up his second Test half-century off the next ball, and it was not long before the pair celebrated a century partnership for the seventh wicket.
After surviving one chance, Philander eventually edged Younus Khan to Hafeez at first slip. A review proved the fielder had indeed taken a legitimate catch and Philander was given out for a career best 74.
The valuable seventh wicket stand was worth 129 runs and included 13 fours.
Pakistan's fielding and bowling were both particularly shoddy as they spilt a couple of catches. Philander was dropped on 45, off Rahat Ali, after there was a mix-up behind the stumps between the wicketkeeper and first slip.
Rahat, playing only his second Test, grabbed six wickets for 127 runs, conceding six no-balls and six wides.
Adil bagged two for 54 on debut, but did not bowl again after he limped off injured on Friday. – Sapa.