Sri Lanka closed in on a series whitewash against South Africa on Sunday, with the visitors five down and with a mountain to climb after the third day of the second Test.
By stumps, spinners had ripped their way through the Proteas batsmen yet again to leave them reeling on 139 for 5 in pursuit of an impossible-looking 490 victory target in Colombo.
Against batsmen who clearly decided that attack was the best form of defence, off-spinner Akila Dananjaya and left-arm spinner Rangana Herath took two wickets apiece, and off-spinner Dilruwan Perera dismissed Dean Elgar.
The wickets fell despite a comedy of repeated errors from Sri Lanka, who dropped two catches, wasted both their reviews -- on successive balls -- and could have had Elgar out twice beforehand had Perera not overstepped.
He was reprieved on six when Perera bowled him, and later on 23 when caught behind. On the second occasion, he had even gone right back into the dressing room before being recalled to the middle.
"I was quite happy with that. That's never happened in my career," Elgar said afterwards.
But Perera finally got his man for 37, leaving South Africa 80 for two, from which they quickly slipped to 113 for five as Hashim Amla went for six, Faf du Plessis for seven and Keshav Maharaj first ball.
Amla had his off stump levelled by a straightening Herath delivery. Du Plessis was the first victim in Dananjaya's late double strike, when a ball he had inside-edged on to his pad popped up for a catch to slip.
By stumps, number-three batsman Theunis de Bruyn, who survived two very close lbw shouts early in his innings, was 45 not out, with a chance of recording his team's first half-century of the series.
Temba Bavuma, who came to the crease with Dananjaya on a hat-trick, remained 14 not out.
But the South Africans are still staring down the barrel of their first series defeat by Sri Lanka since 2006, when they also suffered a whitewash -- the last time the Proteas faced such a humiliation anywhere.
The world's number-two-ranked Test side have only three recognised batsmen remaining and two full days left to survive against Sri Lanka, currently ranked sixth after a string of defeats in recent times.
"It's been a totally different kind of tour for myself personally and the team as well," Elgar said.
"We have been outplayed and outclassed in this series, and I'll be man enough to say that Sri Lanka have been better than us in this particular series."
Earlier, Sri Lanka added a further 125 runs to their already-mammoth 364-run lead, as acting captain Suranga Lakmal delayed the declaration until after halfway through the second session.
Dimuth Karunaratne made 85 -- the third time in four innings he has top-scored for Sri Lanka -- while Angelo Mathews completed a 29th career half-century before eventually being dismissed for 71.
Those were the only two breakthroughs South Africa could manage, as Sri Lanka's batsmen negotiated testing spells from the opposition quicks and their lone frontline spinner.
Left-arm spinner Maharaj took his match tally of wickets to 12 when he had Mathews caught at slip, and fast bowler Lungi Ngidi was the man to remove Karunaratne, having him caught behind for 85.
Dale Steyn went wicketless in this match, which means he has not yet broken the South Africa record for most wickets.
Steyn has been tied with Shaun Pollock at the top of his country's wicket-takers' list since the first Test in Galle, with 421 dismissals.
South African bowlers toiled for 47 overs on Sunday but managed to dismiss just the overnight pair of Karunaratne and Mathews.