South Africa reinforced their status as the world's number one Test team when they beat Pakistan by four wickets on the fourth day of the second Test at Newlands on Sunday.
The victory, with a day to spare, gave South Africa a winning 2-0 lead in the three-match series.
It came after a dramatic Pakistan collapse in their second innings. Pakistan were bowled out for 169 after starting the day on a relatively comfortable 100 for three.
They lost their last six wickets for 22 runs on either side of lunch. At one stage four wickets fell in 13 balls, including three off successive deliveries.
The collapse was engineered by left-arm spinner Robin Peterson and opening bowler Vernon Philander, who took three wickets each before Dale Steyn finished off the Pakistan innings.
Pakistan, first innings, 338
South Africa, first innings, 326
Pakistan, second innings
M Hafeez lbw b Steyn 0
N Jamshed lbw b Philander 0
A Ali c De Villiers b Philander 65
Y Khan b Steyn 14
M-ul-Haq c Smith b Peterson 44
A Shafiq b Philander 19
S Ahmed b Peterson 5
T Ahmed not out 10
U Gul c Petersen b Philander 0
S Ajmal b Peterson 4
M Irfan c Petersen b Steyn 2
Total (75.3 overs) 169
Fall of wickets: 1-0 (Hafeez), 2-7 (Jamshed), 3-45 (Younis), 4-114
(Misbah), 5-147 (Shafiq), 6-152 (Sarfraz), 7-152 (Azhar), 8-152 (Gul), 9-158 (Ajmal)
South Africa second innings
A Petersen lbw b Umar Gul 1
G Smith lbw b Saeed Ajmal 29
H Amla b Saeed Ajmal 58
J Kallis lbw b Saeed Ajmal 21
A de Villiers c Sarfraz Ahmed b Tanvir Ahmed 36
F du Plessis lbw b Saeed Ajmal 15
D Elgar not out 11
R Peterson not out 1
Total (6 wkts, 43.1 overs) 182
Fall of wickets: 1-10 (Petersen), 2-63 (Smith), 3-88 (Kallis), 4-150 (Amla), 5-168 (De Villiers), 6-180 (Du Plessis)
Peterson finished with three for 73 and Philander took four for 40.
The result was a disappointment for Pakistan, who had seemed on top after two days before a strong fight back by South Africa's lower order batsmen on Saturday.
Pakistan off-spinner Saeed Ajmal took four for 51 in South Africa's run chase to finish with match figures of ten for 147.
Set to make 182 to win, South Africa lost Alviro Petersen ten runs into their chase, when he was leg before wicket to Umar Gul for one.
Captain Graeme Smith and Hashim Amla put on 53 for the second wicket before Smith was leg before to Saeed Ajmal for 29 shortly before tea.
Ajmal gained a second leg before decision when he dismissed Jacques Kallis for 21.
Amla and De Villiers shared a rapid 62-run partnership for the fourth wicket before both batsmen perished playing attacking shots. Faf du Plessis became Ajmal's tenth victim of the match before Dean Elgar hit the winning run.
Pakistan made slow but solid progress at the start of the day, seeing off the threat of fast bowlers Philander and Dale Steyn.
But they had only added 14 runs in 8.2 overs to their overnight total of 100 for three when captain Misbah-ul-Haq top-edged a sweep against Peterson and was caught by Smith at short fine leg for 44.
Azhar Ali and Asad Shafiq added 33 for the fifth wicket before Shafiq was unlucky to see a defensive stroke against Philander bounce up and then back on to his stumps. The wicket fell five overs after the umpires called for a replacement ball after the original ball went out of shape.
Peterson bowled Sarfraz Ahmed, who padded up to a ball pitched outside leg stump, with the last ball of the next over. Philander then took wickets with the first two balls of the following over.
A long vigil by Azhar Ali ended when he edged an outswinger to wicketkeeper AB de Villiers. Ali made 65 off 193 balls with seven fours. Umar Gul edged the next ball and Alviro Petersen flung himself to his left at third slip to take a spectacular catch.
South Africa were without fast bowler Morne Morkel, who left the field with a hamstring injury on Saturday, but Peterson bowled accurately for all but two overs from the Kelvin Grove end, enabling Smith to use Philander and Steyn in short bursts.
Philander, who took five for 59 in the first innings, had match figures of nine for 99.