Sri Lanka improved its chances of a series victory no one expected after bowling South Africa out for 222 on the opening day of the second and final Test on Thursday.
Inexperienced pace bowlers Vishwa Fernando and Kasun Rajitha shared six of the wickets as the tourists continued to defy pre-series predictions that they'd be easily overpowered in South Africa.
Sri Lanka was 60/3 at stumps at St. George's Park in Port Elizabeth, 162 runs behind with seven wickets in hand. The Sri Lanka batsmen still faced a challenge to ensure the strong start by the bowlers wasn't wasted, but their position was much better than South Africa's, which was 15/3 at one point.
Leading 1-0 after a surprise, against-the-odds win in the first Test, Sri Lanka has the chance to become the first Asian team to win a series in South Africa, something even the mighty India and Pakistan have never done.
Left-arm quick Fernando, in just his fifth Test, gave Sri Lanka a compelling start when he swung the ball one way to knock out Dean Elgar's off stump and then swung it the other to bowl Hashim Amla next ball.
Rajitha supported him, first with a direct hit from mid-on to run out Temba Bavuma, also for a duck, in the next over, and then with three South Africa wickets after lunch.
Fernando eventually took 3/62 and Rajitha 3/67 and South Africa relied on 60 by opener Aiden Markram and a counterattacking 86 from 87 balls by wicketkeeper Quinton de Kock down the order to get past 200.
De Kock might have improved South Africa's position further but he was struck by cramp in his groin when he was on 69. He was treated a couple of times but was still limping heavily and hitting shots on one leg when he finally fell to part-time spinner Dhananjaya de Silva.
Sri Lanka also had an injury concern of its own and one which might have more significant repercussions for the match and the series: Spinner Lasith Embuldeniya left the ground for hospital after being struck on the thumb by the ball while attempting a caught and bowled just before tea.
He dropped the catch and departed the field with his thumb bleeding and possibly dislocated, putting his participation in the rest of the Test in doubt.
The highlight for Sri Lanka on day one was Fernando's two high-quality deliveries to get rid of Elgar and Amla. He swung the ball right to left and in to the left-handed Elgar to find the gap between bat and pad and send the off stump tumbling back. He made the ball move in the other direction to send Amla off first ball, then sprinted away with arms outstretched in celebration, his delighted teammates chasing him.
South Africa fought late in the day, with Kagiso Rabada breaking through to have Sri Lanka captain Dimuth Karunaratne caught behind for 17. Duanne Olivier bowled Oshada Fernando for a duck and forced out Kusal Mendis for 16 just before stumps, another catch behind for de Kock, who appeared to have recovered fully from his cramp.
South Africa's run of seven straight series wins at home has gone but the home team is still fighting to keep a three-year unbeaten streak in home series going