Speed bowler Dale Steyn took five wickets as South Africa seized control on the third day of the first Test against Sri Lanka on Friday.
Steyn, 31, unleashed some fiery bowling without much help from a dry and flat Galle track to finish with figures of 5-50, his 23rd five-wicket haul in Tests.
At stumps, Sri Lanka were 9-283, still trailing the visitors by 172 runs with just one wicket in hand.
Sri Lankan skipper Angelo Mathews fought back valiantly with 89 before being bowled by leg-spinner Imran Tahir.
Mathews, who missed scoring his third Test ton on the trot, also shared 71 runs with Rangana Herath for the eighth wicket, the highest partnership of the innings.
His effort was especially commendable since Sri Lanka’s two big hitters – Mahela Jayawardene (three) and Kumar Sangakkara (24) – failed with the bat.
Steyn struck early in the final session, removing Lahiru Thirimanne (38) with an away-moving delivery which the batsman edged behind to wicketkeeper Quinton de Kock.
The lanky fast bowler struck again soon to dismiss Dinesh Chandimal and Dilruwan Perera off his consecutive overs to cap a fiery three-wicket burst.
Chandimal (six) was caught at midwicket while Perera snicked to de Kock without opening his account.
Mathews tried to hit back, smacking Morne Morkel (2-45) for five fours in one over to race to his fifties but that was a rare show of dominance on an otherwise disappointing day for the home team.
Earlier, Tharanga, making a Test comeback after more than six years, stood out with his doughty 83 that contained 14 fours and a six.
Tharanga defied the hostile fast bowling for some three hours but he was finally undone by part-time spinner Jean-Paul Duminy who had him stumped by de Kock.