Sri Lanka muscled their way ahead of South Africa - but only marginally - after a seesaw second day of the second Test at St George's Park, Port Elizabeth that saw 18 wickets fall, 14 of them to fast bowlers. At stumps on Day Two, Sri Lanka need another 137 runs with 8 wickets standing.
Oshada Fernando (17*) and Kusal Mendis (10*) are at the crease, with Kusal Perera, Niroshan Dickwella, and Dhananjaya de Silva to follow. If they see off through without losing more than a wicket or two, Sri Lanka should be firm favourites of becoming the first Asian team to win a series in South Africa.
However, it is not going to be an easy task. Kagiso Rabada and Duanne Olivier troubled both openers, while Keshav Maharaj got the ball to turn in the last over of the day. And of course, there is Dale Steyn to deal with.
Olivier started the day by switching direction and pulling off an excellent catch off his own bowling to send Lahiru Thirimanne back. At the other end, Rabada cleaned up night-watchman Kasun Rajitha. After being 60/3 overnight, Sri Lanka were suddenly 66/5.
Perera came out all guns blazing, taking two fours off Rabada and lofting him over extra-cover, all off the same over. At the other end, de Silva smashed three fours off Olivier. But just when it seemed the fortunes would change, Rabada had Perera caught behind.
Dickwella kept the tempo on, with a four and a six off consecutive balls from Olivier and two fours off Steyn. But debutant Wiaan Mulder struck, having de Silva caught behind.
Maharaj then trapped Suranga Lakmal in front. Dickwella was last to go, for a 36-ball 43, caught at point off Rabada (4/38). Lasith Embuldeniya, who had fractured a thumb in the first innings in an attempt to catch Rabada, did not bat. It is uncertain whether he will bat in an emergency during the chase.
South Africa came to bat with a 68-run lead, and once again Vishwa Fernando got Dean Elgar early, caught behind. Aiden Markram hit Rajitha to mid-wicket, and Rajitha struck again by getting Temba Bavuma to edge one.
At this stage captain Faf du Plessis took charge while Hashim Amla dropped anchor at the other end. Together they stretched the lead to 158.
Then de Silva, Sri Lanka's lone spinner in the absence of Embuldeniya, had Amla and Mulder caught at slip and Steyn caught brilliantly at short-leg by Thirimanne.
At the other end Lakmal bowled fast and straight: first, Quinton de Kock lobbed one back to him; then he trapped Maharaj leg-before, got Rabada to edge one, and got Olivier leg-before. South Africa lost their last 7 wickets for 38. Du Plessis was left stranded on a round 50.
However, there was still some time left in the day's play. Thirimanne and captain Dimuth Karunaratne wiped out 34 of the 197-run target. Then both were caught behind, off Rabada and Olivier. Oshada and Mendis played some delightful strokes to give Sri Lanka a marginal advantage at stumps.
South Africa 222 (Markram 60, de Kock 86; Vishwa 3/62, Rajitha 3/67) and 128 (du Plessis 50*; Lakmal 4/39, de Silva 3/36) lead Sri Lanka 154 (Dickwella 42; Rabada 4/38, Olivier 3/61) and 60/2 (Karunaratne 19; Olivier 1/10) by 136 runs.