Dale Steyn grabbed a match haul of 9-99 as South Africa thrashed Sri Lanka by 153 runs on the fifth and final day of the first Test on Sunday.
Steyn’s figures, the best by a quick here, helped the visitors bowl out Sri Lanka twice in the match despite a wicket which offered little help.
It was only South Africa’s third win on the island and their first since 2000.
Steyn was well-supported by seaming partner Morne Morkel, who picked up four wickets as Sri Lanka were bowled out for 216.
Sri Lanka needed to make another 260 runs on the final day with nine wickets in hand to pull off a come-from-behind win. But they lost their remaining wickets for just 106 to go down tamely.
The victory was especially sweet for Hashim Amla, who was leading the side for the first time in Tests.
South Africa can now reclaim their top ranking from Australia if they win the second and final Test in Colombo from July 24-28. Part-time spinner JP Duminy picked up two wickets including the crucial scalp of Kumar Sangakkara, who made a fighting 76 to salvage some pride for the hosts.
Sri Lanka, who had resumed on their overnight score 110-1, added just 51 off 24 overs in the first session while losing five wickets.
Steyn, who had taken a five-wicket haul in the first innings, struck in the fourth over of the day to give his side the breakthrough they needed.
His victim was opener Kaushal Silva (38) who nicked the seamer behind the wickets, where Quinton de Kock dived to his right to take a stunning catch.
Silva’s dismissal ended a 104-run stand with Sangakkara for the second wicket, the highest of the innings.