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.
|Liverpool can´t be judged just on trophies – Klopp responds to Mourinho|
|Athletics´ Chapman undergoes procedure on left shoulder|
|Marcelo: Real Madrid miss Ronaldo|
|Ronaldo right about Juventus team spirit – Allegri|
|Klopp: I´m not the pope of football tactics|
|Stade beat Ospreys on emotional Chauvin tribute night|
|Ligue 1 survival bid a marathon not a sprint for Monaco, as club appoints distance runner|
|Vertonghen eyeing Spurs future beyond 2020|
|De Bruyne injuries could be a blessing for City, says Guardiola|
|Emery prepared to face Arsenal´s centre-back crisis|
|Ulster complete Scarlets double, Exeter gain Gloucester revenge|
|Sheffield United 1 West Brom 2: Baggies comeback boosts automatic promotion push|
|Del Potro back on court following knee injury|
|Canelo v Fielding: Rocky ready to write his own fairytale in New York|
|Boca part company with Schelotto after Copa Libertadores loss to River|
|Canelo v Fielding: Tale of the tape|
|Juventus defender Cancelo has knee surgery|
|Canelo v Fielding: Alvarez and Rocky make weight in New York|
|Spalletti does not fear another mid-season crisis at Inter|
|Salah headlines CAF Player of the Year shortlist as Koulibaly misses out|
|Beckham Jr. out of Titans clash|
|Lipsky hits the front at Leopard Creek|
|Pederson coy over Wentz back injury|
|Liverpool ´not really likely´ to be active in January window, reveals Klopp|
|Always on the move and unpredictable - Pavard reveals surprising choice over toughest opponent|
|We need to get back to respect - Lampard alarmed by hate in football|
|Giles returns to England to replace Strauss as director|
|Hansen has no issue with Milner-Skudder Toulon switch|
|Juventus to rest Ronaldo after Torino showdown|
|Titmus strikes gold again as world records tumble in Hangzhou|
|Malinga to captain Sri Lanka in New Zealand|
|Rivaldo would like ´excellent´ Isco at Barcelona|
|United a long way from Mourinho´s vision|
|´Klopp denies an answer!´ - Liverpool boss dismisses questions about ´world-class´ Pogba|
|Returning Nowitzki ´so tired´ after making NBA history|
|Aguero and De Bruyne in contention for Manchester City v Everton|
|Simeone has no plans to cash in on Costa|
|Canelo v Fielding: Alvarez´s greatest nights|
|Fabregas: Chelsea being unfairly scapegoated over racism allegations|
|Crisis? What crisis? Klopp focuses on defensive solutions for United clash|
|Hope cannot inspire Windies as Bangladesh cruise to series win|
|Benitez picks up Premier League Manager of the Month award|
|Chavez, Marquez and Canelo - Mexico´s greatest multi-weight world champions|
|Bale set to miss Real Madrid v Rayo Vallecano|
|Robben out until January as Bayern look to avoid serious injury|
|Milan avoid UEFA ban in FFP punishments.|
|Mourinho compares Liverpool to ´an amazing house´ but insists trophies matter|
|Brisbane Roar 2 Melbourne Victory 4: Muscat´s men hit A-League summit|
|Bumrah confident second Test is ´in the balance´ after India recovery|
|Isco gesture was for a corner or foul, claims Solari|
|Harris leads Australia into ascendancy on day one|
|ATP announces candidates to host future Finals|
|Ronaldo: Juventus fans refuse to lose to Torino|
|Hero Rivers feared he had cost Chargers in KC|
|Williams would welcome Llorente back to Athletic Bilbao|
|Liverpool v Manchester United: Minding the gap|
|Milan elimination unjust, fumes Leonardo|
|Paul hails ´sick´ Harden after record-breaking display|
|Liverpool v Manchester United: Salah, Mane and Firmino v Rashford, Martial and Lukaku in Opta number|
|Canelo open to GGG trilogy as he chases place in Mexican history|
|The big Friday Premier League quiz|
|Harden posts record fourth 50-point triple-double in win over Lakers|
|Barcelona squad happy with Dembele, says Alba|
|Chargers rally past Chiefs to clinch playoff spot|
|WATCH: Chargers top Chiefs on dramatic two-point conversion in final seconds|
|Suns owner Sarver committed to keeping team in Phoenix|
|Chargers WR Allen leaves with injury after near-spectacular catch|
|Socceroos not giving up on Mooy for Asian Cup|
|Cooper says Raiders owner wanted to trade him to Cowboys|
|Pochettino jokes Levy is ´worried´ about losing him|