Dimuth Karunaratne ploughed a lone furrow for Sri Lanka as South Africa took charge on the opening day of the first Test in Galle.
The opener carried his bat on Thursday as the hosts struggled to find any rhythm after opting to make their opponents bowl, Karunaratne finishing 158 not out as Sri Lanka were dismissed for 287.
Plenty of his partners made starts but could not push on, and Sri Lanka's total would have been even less competitive had last man Lakshan Sandakan not added a timely 25.
Kagiso Rabada proved South Africa's main threat with 4-50, while there was also a wicket for the returning Dale Steyn.
Left-arm chinaman Tabraiz Shamsi contributed 3-91 in his second outing as Sri Lanka toiled, only the impressive Karunaratne scoring big on a pitch that is expected to turn more and more as the game goes on.
Sri Lanka finished the day on a high, though, as Rangana Herath took advantage of the early spin to remove Aiden Markram before the close, South Africa finishing 4-1 at the beginning of their reply.
Stumps, Day 1: SA 4/1 after 4 overs. Elgar 4*, Maharaj 0*, trail by 283. Last wicket: Markram 0.— Cricket South Africa (@OfficialCSA) July 12, 2018
SL 287. Rabada 4/50, Shamsi 3/91, Philander 1/28, Steyn 1/54. #SLvSA #ProteaFire pic.twitter.com/r6uPlFI142
The initial signs looked positive for Sri Lanka as Karunaratne and Danushka Gunathilaka made a steady start, only for Rabada to find a beautiful line outside off stump to have the latter caught behind.
Dhananjaya de Silva helped push the score on to 70-1 but four quick wickets saw the hosts slump to 119-5 – Rabada and Steyn doing the damage as the Proteas' seamers found a good length.
Karunaratne kept his patient, watchful innings ticking over while panic ensued around him, bringing up his half century off 82 balls with a quick single.
He survived a scare soon after as Markram dropped him at short leg, and slowly pushed towards an eighth Test century.
A straight drive to the boundary off Shamsi took Karunaratne to three figures but by then Sri Lanka were eight wickets down and facing an uphill struggle to post a credible total.
The Karunaratne show! @IamDimuth carries his bat with 158*, the fourth Sri Lankan to do so in Test cricket, as the hosts are dismissed for 287 on day one in Galle.#SLvSA scorecard https://t.co/iKZgIHlw9a pic.twitter.com/XdTawzE1Hg— ICC (@ICC) July 12, 2018
Stand-in captain Suranga Lakmal and Sandakan gave him much-needed support for the final two wickets, Sri Lanka adding 63 as Karunaratne reached 150 for the fourth time in his career.
Eventually Sri Lanka's resistance came to an end as Shamsi had Sandakan stumped, but it left South Africa with a tricky four-over spell to navigate.
Markram was unable to do so as Herath drew him forward and found an edge that Angelo Matthews gobbled up at slip, but it was a rare disappointment on a productive day for the tourists.
|Federer, Zverev help Europe defend Laver Cup|
|I couldn´t sit or stand – Tiger Woods reflects on back woes after ending drought|
|Snead´s record in sight – Tiger Woods´ 80 PGA Tour wins|
|Nicklaus, Magic Johnson, McIlroy and Kane – Sports stars celebrate Tiger´s Tour win|
|Tiger Woods season in review: Tour Championship win caps remarkable comeback|
|49ers fear QB Garoppolo suffered torn ACL|
|World of golf is proud of Woods – Rose|
|WATCH: Tiger followed by incredible sea of fans at East Lake|
|Three takeaways from the 2017-18 PGA Tour season|
|Mbappe shows off signed Pele shirt|
|Tiger timeline: Woods´ fall and rise|
|Spieth´s breakthrough, Garcia´s Masters moment - Events between Tiger´s triumphs|
|Tiger Woods: I was close to tears on the last hole|
|Woods earns first win since 2013; Rose claims FedEx Cup|
|Pogba implores Manchester United to ´attack, attack, attack´|
|Valverde, Busquets and Vidal criticise Lenglet dismissal|
|Tiger Woods: The stunning statistics|
|Fitness hindering Dybala form, says Allegri|
|BREAKING NEWS: Woods claims first title since 2013, Rose wins FedEx Cup|
|Povetkin struggles leave Joshua with no Wilder fear|
|Guardiola targets Barca, Bayern dominance with Premier League priority|
|Centurions Rohit and Dhawan put India in final|
|Eagles top Colts as Wentz makes his return|
|Barcelona 2 Girona 2: Stuani brace punishes Lenglet red|
|Frosinone 0 Juventus 2: Ronaldo redeemed as champions extend perfect start|
|Gattuso: No alibis for two-faced AC Milan|
|Bangladesh hold on despite late Afghanistan charge|
|Composed Woods hits turn with five-shot lead|
|Chiefs´ Mahomes has another record-breaking Sunday|
|Saints QB Drew Brees passes Brett Favre for most career completions|
|Emery hints Leno may need patience after Cech display|
|Picamoles scores four as Montpellier batter 14-man Toulouse|
|Messi breaks LaLiga record|
|Worcester fend off prowling Tigers, Sarries go top|
|AC Milan 2 Atalanta 2: Last-gasp Rigoni rescues a point|
|Neymar keen to repay supporter affection|
|Pellegrini rues West Ham´s wastefulness|
|Paris Saint-Germain´s positive response buoys Tuchel|
|Lewis rekindles fond memories with Vilamoura triumph|
|Arsenal 2 Everton 0: Lacazette, Aubameyang extend winning streak|
|Stephens suffers as Osaka withdraws in Wuhan|
|Rhinos run riot to secure Super League status|
|Risk brings reward for victorious Marquez|
|Let´s have some fun - Wentz tweets message to Eagles fans ahead of return|
|Maybe in a year Chelsea will be at Liverpool´s level – Sarri|
|Under-pressure Rodgers bemoans ´bitty´ Celtic start|
|Slater should be banned for Grand Final - Fittler|
|Simon ends Bachinger fairytale to lift Metz title|
|Dominant Thiem reigns in St. Petersburg|
|Neymar hands young fan his shirt during Paris Saint-Germain victory|
|Quick-Step Floors storm to fourth time trial gold|
|Jorginho sets new passing record in West Ham draw|
|Rubiales slams ´crazy´ LaLiga schedule|
|Rennes 1 Paris Saint-Germain 3: Tuchel´s Ligue 1 record stays perfect|
|Why so serious? Joshua reveals Fury has blocked him on Twitter|
|West Ham 0 Chelsea 0: Sarri´s 100 per cent start comes to frustrating end|
|Marvellous Marquez reigns in Aragon yet again|
|Real Madrid will not go to the USA with LaLiga - Perez|
|Erasmus adds five players to Springboks squad|
|Barcelona snub ´hardest decision´ of Griezmann´s career|
|Perez pays tribute to Ronaldo and Zidane|
|Cazorla concedes Arsenal lacked self-belief under Wenger|
|Get King Kong for AJ! Joshua understands critics´ demands|
|Korea change sees Bertens take title in Seoul|
|I love Bilic, but I let him down – Arnautovic|
|He will never fight me! Fury hits out at ´ponderous´ Joshua|
|Azpilicueta convinced Hazard can be ´the best´|
|Wigglesworth´s career in Opta numbers as he breaks Premiership record|
|Ronaldo has nothing to prove, says Allegri|
|Federer shines as Europe hold narrow lead at Laver Cup|