South Africa and Sri Lanka were locked in a tense, low-scoring battle at the end of the second day of the second Test at St George's Park on Friday. Needing 197 runs to achieve a historic series win, Sri Lanka were 60 for two at the close. It was an extraordinary day's play during which 18 wickets fell and 282 runs were scored, leaving both teams with a chance of victory. Sri Lanka, who won the first Test in Durban by one wicket, will become the first team from Asia to win a Test series in South Africa if they can score 137 more runs, while South Africa will earn a face-saving share of the series by taking the remaining eight wickets.
South Africa seemed set to take control when Sri Lanka collapsed in a flurry of strokes to be bowled out for 154 before lunch, giving South Africa a first innings lead of 68 runs.
But Sri Lanka's bowlers hit back, bowling out the hosts for a paltry 128 - by 40 runs their lowest total in a home Test against the islanders.
Suranga Lakmal, Sri Lanka's most experienced bowler, took four for 39, while part-time off-spinner Dhananjaya de Silva took a Test-best three for 36.
With only 10 wickets in 24 previous Tests, De Silva had match figures of five for 51. He was forced into a front-line role when left-arm spinner Lasith Embuldeniya suffered a badly dislocated left thumb, an injury which required surgery and prevented him from batting or taking the field on Friday.
De Silva seemed to have claimed a fourth wicket and wrapped up the South African innings when Faf du Plessis charged down the wicket and was stumped with the total on 117 for nine. But a check by the umpires revealed it had been a no-ball and 11 more runs were added before Lakmal trapped last batsman Duanne Olivier leg before wicket.
Du Plessis was left unbeaten on 50.
Sri Lankan captain Dimuth Karunaratne and Lahiru Thirimanne put on 32 for the first wicket at the start of their chase but both were dismissed in the space of six balls.
Thirimanne was caught behind off Kagiso Rabada for the second time in the day after making ten to be followed in the next over by Karunaratne for 19, caught behind off Duanne Olivier's first ball of the innings.
Oshada Fernando and Kusal Mendis saw out the day, with Fernando striking two boundaries in the last over, bowled by left-arm spinner Keshav Maharaj.
In a frenetic start to the day, Sri Lanka scored 94 runs but lost six wickets in 17.4 overs.
Overnight batsmen Thirimanne and nightwatchman Kasun Rajitha were dismissed in the first four overs of the morning after Sri Lanka resumed on 60 for three. They were followed by a succession of batsmen who played extravagant shots before perishing.
Kusal Perera, the hero of Sri Lanka's surprise win in the first Test in Durban, thrashed two fours and an audacious six over extra cover in one over from Rabada before being caught behind in the fast bowler's next over. He made 20 off 15 balls.
De Silva struck four fours in making 19 off 24 balls and Niroshan Dickwella hit six fours and a six before he was the last man out for 42 off 36 deliveries. Rabada took four for 38.
South African opening batsman Dean Elgar fell cheaply for the third time in the series to Vishwa Fernando before lunch and there was a steady stream of wickets during the afternoon, culminating in the dismissal of Hashim Amla for 32 and in-form Quinton de Kock for one in the last two overs before tea.
The remaining five wickets added only 37 runs after tea, with none of the lower-order batsmen able to provide significant support to Du Plessis.