Sri Lanka celebrated a rare success on Friday on a tour to South Africa with a five-wicket victory in the fourth one-day international.
Big knocks from captain Tillakaratne Dilshan (87), man-of-the-match Thisara Perera (69) and Dinesh Chandimal (59) lifted the visitors to 304-5 after the home side reached 299-7 with skipper AB de Villiers (96) to the fore.
After keeping close to the six-run-an-over target at the De Beers Diamond Oval for much of the innings, the Sri Lankan batsman hit out against a South African attack sorely missing rested fast bowler Dale Steyn.
Unfortunately, the win came too late for the tourists to affect the five-game series with the Proteas taking a winning 3-0 lead three days ago thanks to a four-run win in a rain-hit Bloemfontein contest.
But the outcome in this northern Cape city did emphasise the steady improvement of Sri Lanka after a nightmare opening match in which they were bowled for 43 to suffer a humiliating 258-run loss.
"This was a fantastic effort as we were hoping to restrict South Africa to 250 or 260 runs," said Dilshan, "and on a personal note it was nice getting a big score again."
Dilshan averaged a run a ball in a 112-minute stand that included nine fours and two sixes while Perera was even quicker, taking just 44 balls with three fours and five sixes in his tally.
Chandimal may have struck only one six and one four and taken longer to compile his runs, but he was a steadying mid-innings influence as South Africa desperately sought wickets.
Dilshan believes his side can win again Sunday at the Wanderers in Johannesburg amid Sri Lankan government calls for a probe into a "crisis situation" after series losses to England, Australia and Pakistan as well.
It has been a spectacular fall from grace for a team that finished runners-up to India last April in the World Cup and some players have complained of unpaid salaries while the cricket board wrestles with a $69 million debt.
After three consecutive wins since replacing Graeme Smith as one-day captain, De Villiers had his first taste of defeat and offered no excuses, only praise for the "gutsy" Sri Lankans, especially Perera.
The South Africa batsman-cum-wicketkeeper will take solace from his fine innings that was laced with eight fours and three sixes and ended when he became one of two Perera victims as the ball crashed into middle stump.
Another postive for the Proteas was a return to form by Smith (68), whose innings of six, 28 and two in the other matches had triggered a media and public outcry that forced De Villiers to come out in support of the opening bat.
Smith struck seven fours and a six before surrendering his wicket cheaply with Dilshan taking the catch off a leg-side shot after a Lasith Malinga delivery that was short of a length.