South Africa were well on top at stumps on day two of the third Test against Pakistan in Centurion, with the visitors following on and still 239 runs behind the Proteas' first innings score, sitting on 14 for one.
Pakistan were forced to follow on after debutant Kyle Abbott took an astonishing seven wickets to reduce the visitors to 156 all out. Graeme Smith sent them in to bat for another nine overs, chasing the 409 the Proteas scored earlier in the day.
Abbott ended the first innings on seven for 29 runs, the second best debut figures for a South African, behind Lance Klusener, who is his coach at the Dolphins. Dale Steyn , who took the one wicket in the second innings, handed Abbott the innings ball.
The Proteas started the day on 334 for six, with AB de Villiers having to sleep on 98, while Philander sat on 45. De Villiers made short work of recording his century, taking the two required just five minutes after the resumption.
Vernon Philander was not to be outdone and looked on course for his maiden Test century, playing some lovely shots worthy of a middle order batsman. But he couldn't counteract the medium pace of Younis Khan, and nicked the outside edge, caught very low down by Mohammad Hafeez for 74.
De Villiers carried on alongside debutant Kyle Abbott, who looked classy though nervous. Aside from his 49 wickets in the domestic four-day contest, he also had three fifties and a century in first-class cricket this season, so he would have been disappointed at making only 13.
He was the final wicket to fall, after Rory Kleinveldt failed to get off the mark before being caught by Saeed Ajmal off Rahat. Abbott found his off stump uprooted by Rahat, who was by far the pick of the Pakistani bowlers.
Pakistan had to endure five overs before lunch, with Dale Steyn and Philander charging in, but they managed to go to the break unscathed, on nine for none. They then advanced the score to 49 in the afternoon, before the first wicket fell.
Philander broke the deadlock for the Proteas, trapping Imran Farhat plumb in front just a few deliveries after having a decision overturned via DRS. This time there was no doubt, and the opener had to depart for 30.
Mohammad Hafeez had the honour of becoming Abbott's first Test scalp a while later, when the paceman struck in his first over. Hafeez tried to cut, but instead sent it to Dean Elgar at gully, who took a low catch. He asked to make sure it carried, and replays showed it had.
Philander then struck with the next ball, the first of his over, to dismiss Azhar Ali, who got a bottom edge onto his stumps and had to depart for just six.
Misbah-ul-Haq then tried to steady the knock but he could only add 10 before edging Abbott to Alviro Petersen at second slip, who took a diving low catch. Again, they ask to make sure it carried, and again Abbott was granted a wicket.
At the tea break, Younis Khan, batting very slowly, was on 13 off 31 balls, while Asad Shafiq was on two, both enduring the final half hour of the session with care and many a forward defensive.
Shafiq was unable to last an over into the evening session though, falling to the pace of Steyn. The ball struck Shafiq high on his pads, and while it looked to be slipping down leg side, Billy Bowden gave it out. A DRS review upheld the decision thanks to Umpire's Call, as it nicked the stumps.
Sarfraz Ahmed then came in to join Younis, and the pair navigated the pace attack with relative confidence, despite Steyn having a close LBW shout turned down. They pushed the score to 132 before Sarfraz crumbled, edging Abbott to Graeme Smith at second slip.
The debutant's dream Test continued when he got another wicket the next ball, putting him on a hat-trick as Ajmal walked back just seconds after arriving. A debut hat-trick was not to be though, as Ehsan Adil was struck on the pads and they ran a bye.
The Durbanite's fifth wicket came in the 45th over, reducing Pakistan to 149 for eight as Ehsan was caught by Faf du Plessis in the slips for nine. The visitors were still 60 runs short of avoiding the follow on.
Things went from superb to brilliant for Abbott in the same over, as Mohammad Irfan edged to Elgar for a duck, with Younis still stuck on 30 at the other end. The veteran couldn't add more than three further runs though and was Abbott's seventh and final scalp.
Steyn struck with the first ball of the new innings, removing Hafeez for a golden duck by clean-bowling him. This left Azhar Ali and Younis Kahn to once again try and rescue the situation, and they saw out the remaining overs with care.