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.
21. August 2018
|Raiola hits back at Scholes following Pogba criticism|
|Indians top Red Sox in series opener|
|Struff stuns Cecchinato, Jarry reaches last 16|
|I´ll prove people wrong - Bolt completes first Mariners training session|
|Former champ Kvitova tops Radwanska, Pliskova ousted|
|Sad if it´s Filipe Luis´ last game for Atletico - Oblak|
|White Sox manager Rick Renteria hospitalised before game|
|Carragher: Van Dijk can become Liverpool legend|
|No timetable for Sale return from shoulder injury|
|This is a partnership - Rodgers on contract negotiations with Packers|
|Eagles QB Wentz unsure he´ll be cleared to play opener|
|Balotelli staying at Nice|
|It wasn´t a penalty, says Hodgson as Palace boss fumes at refereeing decisions|
|Salah can play much better - Klopp demands more from Liverpool star|
|Gasly to Red Bull: Vettel, Verstappen and the drivers who took their Toro Rosso chance|
|Klopp in the dark on Karius future amid links to Besiktas|
|Simeone pleased with draw after rigours of Super Cup|
20. August 2018
|Captain Reus saves Dortmund in DFB-Pokal|
|I couldn´t care less - Klopp rejects title challenge talk|
|Ailing Bairstow keen to aid England´s unlikely victory bid at Trent Bridge|
|Redskins secure Peterson signing|
|Manchester City goalkeeper Bravo suffers ruptured Achilles|
|Crystal Palace 0 Liverpool 2: Milner and Mane secure victory at Selhurst Park|
|Whyte takes aim at ´coward´ Fury ahead of Wilder showdown|
|Jets delighted with Darnold, open to trading Bridgewater|
|Gasly to replace Ricciardo at Red Bull|
|Valencia 1 Atletico Madrid 1: Rodrigo strikes to deny Simeone´s side|
|Injured Halep withdraws from Connecticut Open|
|Cipriani fined £2,000 by Gloucester|
|Mourinho will be sacked before Christmas, says Sharpe|
|England face record chase after Kohli smashes India to huge lead|
|Ozil captaining Arsenal a miracle - Hoeness|
|Japan players apologise for ´thoughtless, careless´ actions at Asian Games|
|Henry wants Bordeaux job, Wenger confirms|
|Pogba too inconsistent and not a leader, claims Scholes|
|PCB chairman Sethi resigns in letter to Pakistan prime minister Imran Khan|
|US Open comes too soon for Tsonga|
|Unpredictable results making 2018 F1 season a classic - Wolff|
|Mendy restricts phone use on Guardiola advice|
|Modric brands Inter approach claim ´the greatest nonsense in history´|
|Runners and Ryders: Olesen leapfrogs Poulter into last Team Europe berth|
|Kenedy escapes further action over Camarasa kick|
|England´s Bairstow suffers ´small fracture´ to finger|
|Gonalons joins Sevilla on loan from Roma|
|Modric, Ronaldo and Salah final UEFA Player of the Year nominees|
|Tottenham to play opening Champions League home match at Wembley|
|Karius´ Champions League blunders did not lead to Alisson signing - Klopp|
|Leeds considered €20m Conte offer before turning to Bielsa|
|Modric, Rakitic lead new era for World Cup finalists Croatia|
|Storm´s Chambers banned for three weeks, Smith injury not serious|
|Porte to race Vuelta after recovering from Tour crash|
|The Career Golden Masters: A run-down of Djokovic´s magnificent record|
|Japan send home four basketball players from Asian Games amid prostitution scandal|
|Rugby tackle bags helping Liverpool´s Alisson with Premier League life|
|Federer raring to go at US Open after Djokovic defeat|
|Chelsea boss Sarri plans to give up smoking|
|Alonso´s Toyota team stripped of Silverstone victory|
|Ceballos: No issue with former Real Madrid boss Zidane|
|MLS Review: Martinez equals single-season goalscoring record|
|Astros avoid sweep with win over Athletics|
|Seppi advances, Paire exits Winston-Salem|
|Bale feeling good as Madrid eye sweep of trophies|
|You can´t leave a house three-quarters built – Neville urges United to back Mourinho|
|Dodgers slugger Machado leaves game after being struck by pitch|
|Harden says Carmelo will ´be a good fit´ for Rockets|
|Morata: I never considered Chelsea exit|
|Gavrilova kicks off title defence in New Haven|
|Lopetegui pleased with Bale and Real Madrid after LaLiga opener|
|It´s a very special moment – Djokovic revels in Golden Masters achievement|
|Sorrentino thanks Ronaldo for support after injury|