Last updated on .From the section Cricket

Kusal Perera had made only one century in his previous 27 Test innings

First Test, Durban, South Africa (day four of five) South Africa 235 (De Kock 80, Fernando 4-68) & 259 (Du Plessis 90, Embuldeniya 5-66) Sri Lanka 191 (Perera 51, Steyn 4-48) & 304 (Perera 153*) Sri Lanka won by one wicket Scorecard

Kusal Perera hit an unbeaten 153 as Sri Lanka chased 304 to claim a stunning one-wicket win over South Africa in the first Test in Durban.

He and Vishwa Fernando, who made six not out, added an unbroken 78 to rescue Sri Lanka from 229-9 on the fourth day.

It was the highest last-wicket stand in a successful fourth-innings chase in first-class cricket.

"It was a superman effort," said South Africa captain Faf du Plessis. "He (Perera) deserves all the accolades."

Perera said: "I'm a little tired now. I don't know what to say."

"I knew we couldn't win this match by just scoring singles. When the time felt right for me, I took my chances.

"Vishwa told me, 'I'll hit the ball with my body, if nothing else. You do what you can.' I took a lot of strength from that. He did a huge job."

A Sri Lanka defeat appeared the most likely prospect for much of the day, which began with the tourists 88-3 and left-handed Perera on 12.

Dhananjaya de Silva made 48 from number seven, adding 96 for the sixth wicket with Perera before a collapse of four wickets for 20 runs.

Perera was on 86 when he was joined by number 11 Fernando, who had returned match figures of 8-123 with the ball.

Fernando batted for more than an hour and faced 27 deliveries as Perera marshalled a brilliant partnership that spanned almost 16 overs.

The previous highest last-wicket stand to win a Test was 57 by Pakistan's Inzamam-ul-Haq and Mushtaq Ahmed against Australia in Karachi in 1994.

Perera's innings, which occupied 200 balls and contained 12 fours and five sixes, was his highest score in 15 Tests.

Victory was only Sri Lanka's second in 14 Tests in South Africa.

The second and final Test in Port Elizabeth starts on Thursday.