Sri Lanka are closing in on an emphatic series whitewash after South Africa were flummoxed by the spinners once again on day three of the second Test in Colombo on Sunday.
Dimuth Karunaratne fell 15 short of a second century in a prolific series for the in-form opener and Angelo Mathews made an excellent 71 before Sri Lanka declared on 275-5, setting the tourists a highly improbable 490 to salvage a 1-1 draw.
Rangana Herath and Akila Dananjaya took two wickets apiece, the South Africa batsmen bamboozled by sharp turn and bounce as they closed on 139-5 - their highest total of the series.
Theunis de Bruyn dug in for an unbeaten 45 and Dean Elgar went for 37 after riding his luck, birthday boy Dilruwan Perera twice over-stepping when he dismissed the left-hander and also dropping him early on.
Karunaratne and Mathews pressed on after Sri Lanka resumed on 151-3, piling on the runs as the tired Proteas bowlers toiled.
Dale Steyn was unable to become his country's leading Test wicket-taker outright, Karunaratne taking his tally of runs in an outstanding series to 356 before he edged Lungi Ngidi behind.
That was the only wicket to fall in the morning session, former captain Mathews attacking spinner Keshav Maharaj (3-154) and finding the ropes seven times as Sri Lanka's lead mounted.
Maharaj claimed magnificent figures of 9-129 in the first innings and was rewarded for bowling 81 overs in the match with a 12th wicket when Mathews was taken by Faf du Plessis at first slip.
Roshen Silva added an unbeaten 32 before Suranga Lakmal declared and the Proteas were 23-1 when Aiden Markram was trapped in front sweeping Herath (2-54) after being dropped by Mathews in the slips.
Dilruwan put Elgar down running back from square leg and he offered another gift on his 36th birthday by over-stepping when he bowled the same man.
Elgar was already back in the dressing room when he was given another reprieve as replays showed no part of Dilruwan's foot was behind the line as he was snared lbw on 23, but he was finally dismissed after being struck in front early in the evening session.
Herath removed Hashim Amla's off stump and Dananjaya (2-35) was on a hat-trick after accounting for Du Plessis and Maharaj, but De Bruyn and Temba Bavuma showed resistance to keep Sri Lanka waiting for what should be another crushing victory.
20. Oktober 2018
|Barcelona 4 Sevilla 2: Messi injured but champions go top|
|Kovac relieved by Bayern´s timely victory|
|Strasbourg 2 Monaco 1: Sy howler and Grandsir red card cost Henry in first match|
|Leicester City defender Chilwell signs new six-year contract|
|PSG´s Tuchel hopes Verratti and Di Maria can face Napoli|
|Liverpool star Salah had no fear during scoring drought|
|Alonso´s 2019 plans not damaged by McLaren´s IndyCar decision|
|Edinburgh outclass troubled Toulon, Wasps and Bath play out thrilling draw|
|Barca concern as Messi substituted with worrying arm injury|
|Howe: South coast derby draw a fair result|
|Our heads were in Manchester – Allegri left fuming at Juventus´ loss of focus|
|Derby County 2 Sheffield United 1: Marriott blunts Blades with 77th-minute winner|
|We have so many problems – Jokanovic alarmed by Fulham defensive woes|
|Huddersfield Town 0 Liverpool 1: Salah snaps winless streak|
|Pellegrini ruing injuries after Yarmolenko hurts ankle|
|Villarreal 1 Atletico Madrid 1: Simeone´s side denied LaLiga top spot|
|Gracia: Not easy to dominate Wolves like that|
|Isner´s Finals hopes hindered by Stockholm defeat|
|Dyche incredulous at refereeing decisions in Man City thrashing|
|Juventus 1 Genoa 1: Champions´ winning run ends despite record Ronaldo goal|
|´Fantastic´ Lamela urged to find consistency by Pochettino|
|You don´t want to lose any players - Young speaks out on Wade NFL speculation|
|Championship Review: Smith gets off to a winning start, Leeds beaten|
|Guardiola hails extraordinary Fernandinho after Burnley drubbing|
|Pochettino lauds Lloris as one of world´s best after West Ham heroics|
|Paris Saint-Germain 5 Amiens 0: Ten wins in a row for PSG as Neymar rests|
|Cristiano Ronaldo nets record 400th league goal|
|Marcelo backing beleaguered Lopetegui despite Madrid slump|
|Garcia dazzles to hit the front at shortened Valderrama Masters|
|Cardiff City 4 Fulham 2: Paterson gets Bluebirds off the mark|
|Newcastle United 0 Brighton and Hove Albion 1: Benitez´s men bottom after dismal defeat|
|West Ham 0 Tottenham 1: In-form Lamela settles London derby|
|Manchester City 5 Burnley 0: De Bruyne returns in comfortable win|
|Wolves 0 Watford 2: Capoue and Pereyra turn form book on its head|
|Bournemouth 0 Southampton 0: Howe´s side stifled by Saints|
|Prove you´re crazy about Inter - Spalletti rallies players ahead of Milan derby|
|Wolfsburg 1 Bayern Munich 3: Lewandowski leads Kovac out of trouble|
|Goerges betters Bencic to clinch Luxembourg title|
|Morgan wants more from ´rusty´ England despite series win|
|Sarri says sorry after touchline bust-up overshadows Chelsea´s late escape|
|Chelsea draw an ´awful´ result for excellent United, says Mourinho|
|The Chelsea assistant that angered Mourinho - Who is Marco Ianni?|
|Steve Kerr supports Colin Kaepernick: ´I think he deserves a chance to play´|
|Lopetegui ´more motivated than ever´ amid Real Madrid sack reports|
|That´s football – Rudiger shrugs off late Ianni-Mourinho fracas|
|AC Milan´s improved mentality could be difference against Inter - Gattuso|
|Emotional Kasatkina comes back from the brink to win Kremlin Cup|
|Forget it, it´s over - Mourinho accepts apology over touchline row|
|Mourinho in furious bust-up with Chelsea staff after late equaliser|
|Chelsea 2 Manchester United 2: Barkley strike denies Mourinho|
|Raptors star Kawhi Leonard: Too early for MVP chants|
|WTA Finals 2018: Profiling the ´elite eight´|
|Cipriani sent off and facing ban for high tackle|
|Real Madrid 1 Levante 2: Lopetegui on the brink as abysmal run continues|
|Warriors coach Kerr: Jerebko ´one of us´ after game-winning tip-in|
|Real Madrid break record for longest goalless run|
|England wrap up ODI series in Kandy rain|
|Melbourne Victory 1 Melbourne City 2: Honda scores but suffers losing start|
|Mata starts for United as Chelsea boss Sarri selects Morata|
|Dovizioso prepared for another Marquez duel|
|Isco returns as Bale makes the bench for Real Madrid|
|Maddison feeling at home with Puel´s Foxes|
|Ruthless Australia beat Tonga in historic Test|
|Pep talks helped Mendy make the most of his time out of action|
|Wantaway Butler revels in boos|
|Emery: Arsenal must be calm with returning Koscielny|
|Sevilla don´t fear Messi or Barca – Kjaer|
|Conte, Zidane and the AC Milan contenders clouding Gattuso´s future|
|Koepka in control in South Korea, on track to become world number one|
|Dovizioso grabs pole at Motegi, Marquez sixth|