Sri Lanka 191 (Perera 51, Steyn 4-48) and 304 for 9 (Perera 153*, Vishwa 6*) beat South Africa 235 (de Kock 80, Fernando 4-62) and 259 (du Plessis 90, Embuldeniya 5-66) by one wicket
A see-sawing Test match reached an incredible finale on the fourth afternoon at Kingsmead as Kusal Perera and Vishwa Fernando put on a record-breaking 10th wicket stand to see their team home in an atmosphere of almost unbearable tension.
Sri Lanka's last pair came together with 78 still needed and victory virtually assured for South Africa, but as Vishwa clung limpet-like to the crease Perera slugged, slapped and swiped his way to the target. Along the way, both men reached their highest Test scores - Perera finishing on 153, while Vishwa's more modest - but no less vital in the final analysis - contribution was 6 not out.
South Africa's bowling plans were stymied by the absence of Vernon Philander, who tweaked his hamstring in the field yesterday and sat the fourth day out. But they should have had as many options as they needed to win the Test, having played five specialist bowlers. Indeed, it looked like South Africa would not miss Philander when, in the space of six overs, Keshav Maharaj scythed through Dhananjaya de Silva, Suranga Lakmal and Kasun Rajitha, and Duanne Olivier's bouncers quickly bullied Lasith Embuldeniya from the crease.
That brought Vishwa to the middle and from the moment he got there, he was entirely focused on survival. He faced 22 balls before he got off the mark, but an otherwise shotless Vishwa knew his only job was to only survive. At the other end, with so many runs needed and so much time left in the Test, it seemed the best that Perera might hope for was to reach his hundred.
He already had 86 to his name when Vishwa joined him at the crease, and a loft for six over wide long on off Maharaj took him into the 90s. A reverse sweep off the same bowler took him to 99, and a quick single brought the ton. At that point, Sri Lanka still needed 64, and Perera indicated that he clearly didn't think the job was done yet by farming the strike superbly and picking his opportunities to attack and push the score forward.
A second pulled six, off Olivier and onto the grass banks, helped Perera to surpass his previous Test best and, with the new ball two overs away, a drive out to the cover sweeper for two brought the runs required under 50. Faf du Plessis delayed his team's use of the new ball for five deliveries after it had become available until they had Vishwa on strike, but a hooping Steyn outswinger was too good for him to get close to. And when he was back on strike, Perera sensed his chance to keep the scoreboard ticking over against the hard, new cherry.
South Africa's nerves began to fray when Dean Elgar missed a shy that would have run Vishwa out, and Perera took the stand beyond 50 - and the target to just 23 - with a mighty mow off Steyn that sent the ball arcing into the stands beyond midwicket. A top edge off Rabada brought a fourth six, and his fifth - off Steyn - left Sri Lanka needing just seven. Some scampering took them down to just a shot away from glory, and Perera held his nerve to the last, steering a length delivery past slip and down to the vacant third-man boundary to complete one of the most remarkable Test chases of all time.
Such superlatives seemed a long way away when South Africa snapped what had become a troublesome 96-run stand between Perera and Dhananjaya after lunch, Maharaj rushing one through Dhananjaya's sweep to trap him in front of his stumps even as he looked set to reach his fifty. When Suranga Lakmal edged the very next ball to slip, Embuldeniya gloved an Olivier bouncer, and Rajitha played outside one to be given out lbw, it seemed Sri Lanka and Perera had flattered to deceive.
Perera, though, had other ideas. He had also helped his team recover from an earlier stutter when they had slipped from 110 for 3 to 110 for 5 in the course of one Steyn over. Shouldering extra burden in Philander's absence, Steyn first broke through a stubborn 56-run stand by finding Oshada Fernando's outside edge for 37. Niroshan Dickwella chipped a return catch back to him two balls later, and South Africa's thoughts must have turned to a push for victory on either side of the lunch interval.
Perera and Dhananjaya's stand revived the chase thereafter, but it was the historic partnership between Perera and Vishwa which took Sri Lanka home, and it is that stand for which this match will be most remembered for. This was only the third time a 300-plus total has been chased at Kingsmead, and only the second time that has happened since the turn of the millennium. Thanks to Perera's superhuman efforts, and Vishwa's defiance and luck, Sri Lanka will head into the second Test at Port Elizabeth with a 1-0 series lead. A draw there and they will be the first Asian side to win a Test series in South Africa.