Johannesburg: Pakistan claimed six wickets in the final session to bowl South Africa out for 253 on the opening day of the first Test, at the Wanderers, on Friday.
The visitors then had to survive a testing two-over spell before the end of play and were six without loss at stumps, with Mohammad Hafeez and debutant Nasir Jamshed at the crease.
It was meant to be a double celebration for Graeme Smith on his 32nd birthday and his 100 th Test as captain, but Pakistan picked up wickets at regular intervals and were the happier of the two teams at close of play.
Having won the toss and chosen to bat on a wicket that provided plenty of early encouragement to the bowlers, the home team will be disappointed that all of their top six batsmen failed to convert good starts into big ones.
First, they were pegged back by some excellent seam bowling from Junaid Khan and later on by off-spinner Hafeez, who finished with four for 16.
After a cautious start, South Africa edged their way to 46 before being jolted by a double strike. Alviro Petersen was caught for 20 at third slip by Hafeez, off Junaid, and four balls later, Smith edged paceman Umar Gul to wicketkeeper Sarfraz Ahmed on 24.
Kallis reached his 58 th Test half-century before being snapped up by Asad Shafiq in the deep, on 50, while Amla was taken at gully by Azhar Ali, off Younus Khan for 37.
Faf du Plessis and AB de Villiers survived caught-behind appeals, which Pakistan reviewed after they were given not out by New Zealand umpire Billy Bowden. De Villiers (31) was just getting into his stride before he edged to Sarfraz, off Hafeez, in the off-spinner's first over.
With the pitch easing out as the day progressed, Pakistan turned to spin from either ends and soon got enough turn and bounce to slow down the scoring rate.