Sri Lanka's inexperienced bowlers made use of a helpful pitch to bowl South Africa out for 235 on the opening day of the first test on Wednesday, taking the early ascendancy in a series few people give the tourists a chance of winning.
Seam bowlers Vishwa Fernando and Kasun Rajitha, with only seven tests of experience between them, shared seven wickets to put South Africa on the ropes at the start of the two-test series.
Fernando took two wickets in his first spell — removing openers Dean Elgar (0) and Aiden Markram (11) — and finished with 4-62 as Sri Lanka jumped at the chance to put South Africa in to bat on a green pitch at Kingsmead that offered as much help to bowlers as it promised.
Rajitha ended with 3-68 and there was a wicket on debut for left-arm spinner Lasith Ambuldeniya.
Suranga Lakmal, the only member of Sri Lanka's bowling lineup who had played more than five tests coming into the game, chipped in with the prize wicket of Hashim Amla for 3.
But it was the new players who gave Sri Lanka hope of ending a three-series losing run.
By stumps, Sri Lanka was 49-1 in reply and had fended off South Africa's vaunted pace attack for now, with new captain Dimuth Karunaratne 28 not out. Oshada Fernando, the second Sri Lankan making his test debut, was 17 not out.
At the start of the day, Vishwa Fernando and Lakmal combined to remove South Africa's top three batsmen inside eight overs as the home team crashed to 17-3.
South Africa captain Faf du Plessis and Temba Bavuma eased the pressure with a 72-run stand and Quinton de Kock made 80 down the order to take South Africa past 200.
Du Plessis fell for 35 on the stroke of lunch to end South Africa's best stand and Bavuma followed five overs after lunch for 47. He was run out at the non-striker's end as de Kock's straight drive ricocheted off bowler Vishwa Fernando's foot and into the stumps. Bavuma was confirmed out by TV umpire Ian Gould by the tiniest of margins after a lengthy review, one of a series of incidents when the umpiring came under close scrutiny.
On-field umpires Aleem Dar and Richard Kettleborough combined to make three errors, one of them a bizarre one when they refused a perfectly good decision review by the Sri Lankans.
In that incident, Amla was given a let-off when still on zero and only two balls after Elgar was out. Amla was hit on the pads by Vishwa Fernando, Dar ruled not out after an lbw appeal, but even though Karunaratne signaled for a decision review, Dar didn't refer the decision to the TV umpire.
The problem appeared to be a timing error by the umpires, who indicated Karunaratne didn't signal for the review within the 15-second limit. Karunaratne's signal was within the 15 seconds, according to the TV broadcasters.
Replays showed Amla was out. Ultimately, it didn't cost Sri Lanka too much.
Kettleborough also thought Amla wasn't out when he edged behind soon after, believing the catch hadn't carried to Kusal Mendis in the slips. Replays showed it carried comfortably and Gould got it right this time and sent Amla on his way.
After lunch, Kettleborough gave de Kock out when he was on 5 for a catch behind. De Kock reviewed that decision, and it proved the ball came off his elbow, not bat or glove.
Sri Lanka came to South Africa off a run of three straight series losses and six losses in its last seven tests. Sri Lanka's last series victory came at home against South Africa last July. Since then, it has lost at home to England and away to New Zealand and Australia.
South Africa has won seven series in a row at home after sweeping Pakistan 3-0 last month, moving the Proteas to No. 2 in the rankings behind India. Sri Lanka is ranked No. 6.