Du Plessis masterclass leads South Africa to huge advantage
Resuming on 55*, with Temba Bavuma on 41* at the other end, Du Plessis survived some close calls early in the day as the partnership passed 100 runs.
Bavuma reached his half-century in the eighth over of the morning after a slow start which saw no boundaries scored by either batsman until the second new ball was taken in the following over.
Sri Lanka finally got the breakthrough in strange circumstances, shortly after the hosts had crept into the lead. Bavuma immediately walked after slashing at a wide delivery from Dasun Shanaka, but replays showed that there was no bat involved.
Du Plessis brought up his century in the next over, passing 4000 Test runs from the same shot, as South Africa began to build their lead. Wiaan Mulder kept him company until well into the afternoon session, when he edged a ball from Wanindu Hasaranga into Niroshan Dickwella's gloves.
Faf du Plessis falls for 1️⃣9️⃣9️⃣ 😱
— ICC (@ICC) December 28, 2020
One run short of his maiden Test double hundred, the 🇿🇦 batsman is caught at mid-on off Wanindu Hasaranga.
A disappointing end to a magnificent innings 👏#SAvSL SCORECARD ▶️ https://t.co/5jzy9lhScF pic.twitter.com/eemEd6sJSq
Any hopes of limiting South Africa's lead were soon curtailed for Sri Lanka though, as Keshav Maharaj scored freely alongside Du Plessis, who passed his previous highest Test score of 137 with a boundary off Shanaka.
The Sri Lanka attack was severely hampered by injuries with Dhananjaya de Silva having been ruled out the rest of the series after retiring hurt in the first innings and Kasun Rajitha having played no further part since leaving the field in just his third over, while Lahiru Kumara and Hasaranga left the field in the afternoon session, albeit with the latter returning to the fray before tea.
And it was Hasaranga who finally brought Du Plessis' innings to a close, as the former South Africa captain failed to clear mid-on as he aimed for the boundary to bring up what would have been his maiden first-class double hundred.
Good news for South Africa fans 🇿🇦
— ICC (@ICC) December 28, 2020
Kagiso Rabada has been medically cleared and will join the Test squad 🙌 #SAvSL pic.twitter.com/Fzhn2rc1hX
His wicket precipated the end of the South African innings, with Anrich Nortje and Lutho Sipamla both falling for ducks before Keshav Maharaj was last man out for a well-earned 73, beating his previous highest Test score by one run.
Hasaranga finished as the pick of the bowlers with figures of 4/171 as South Africa were bowled out for 621.
Lungi Ngidi then claimed two early wickets to leave Sri Lanka in deep trouble at 22/2, trailing by 203 runs, but Kusal Perera and Dinesh Chandimal batted with positivity as they saw the visitors to the close. They will resume tomorrow from 65/2, with 160 runs still needed to reach parity.
