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.