South Africa 455-9d. (Elgar 103, Duminy 100no) v
Sri Lanka 283-9 (Mathews 89, Steyn 5-50)
First Test, Galle, day three
South Africa reduced Sri Lanka to 283 for nine at stumps on day three of the first Test in Galle, ending the day with a lead of 172 runs.
That owed plenty to Dale Steyn's five-wicket haul before Sri Lanka managed to avoid the follow-on, Angelo Mathews hitting 89 in 182 balls.
He combined with Rangana Herath (12 not out) to add 71 for the eighth wicket after Upul Tharanga had earlier made 83.
Steyn finished the day with five for 50 after unleashing a devastating spell of reverse-swing bowling in the afternoon session.
Sri Lanka resumed on 30 without loss as they set about narrowing the gap to South Africa's score of 455 for nine declared.
They added just nine runs when Steyn struck for the first time to have Kaushal Silva (8) caught by Vernon Philander with a short ball.
Tharanga then added 59 with Kumar Sangakkara (24) until the latter was bowled by Morne Morkel via an inside edge and South Africa were completely on top when Mahela Jayawardene was trapped in front by Steyn for three.
Tharanga faced 155 balls, hitting 14 fours and a six before he charged down the track at JP Duminy and was stumped by Quinton de Kock.
Lahiru Thrimanne (38) pushed the score on to 190 before Steyn's spell saw off him, Dinesh Chandimal (6) and Dilruwan Perera (0) in the space of 4.2 overs.
Thirimanne was caught by de Kock, Chandimal by Alviro Petersen as he mistimed a hook shot and Perera also caught behind by de Kock.
However, just as he did against England at Headingley earlier this year, Mathews resisted the South African's efforts to finish off the job quickly, facing 182 balls, like Tharanga also hitting 14 fours and a six.
With Herath he took Sri Lanka past the follow-on target before finally falling to Imran Tahir, bowled after he was caught in two minds.
And South Africa had the last word when Suranga Lakmal was caught by de Kock off Morkel for six with the final ball of the day.
Morkel finished with figures of two for 45, Tahir one for 74 and Duminy one for 47.
© Cricket World 2014