South Africa kept alive their slim hopes of reaching the World Cup semi-finals, crushing Afghanistan by nine wickets on Saturday to record their first victory at the tournament.
Faf du Plessis's side endured a torrid start to their campaign, losing their first three matches before a no result against the West Indies.
But the outcome never looked in doubt in Cardiff, with man-of-the-match Imran Tahir taking four wickets as South Africa bundled out their opponents for a meagre 125 after two rain delays cut the match to 48 overs per side.
South Africa took their time in chasing their target but Afghanistan, who look out of their depth at the World Cup with four defeats in four matches, did not have the weapons to trouble their opponents.
Hashim Amla (41 not out) and Quinton de Kock (68), put on 104 for the first wicket before Afghanistan captain Gulbadin Naib had De Kock caught by Mohammad Nabi.
Amla and Andile Phehlukwayo saw South Africa over the line as they reached their revised target of 127 with 116 balls remaining.
“I really enjoyed that, really pleased,” said Tahir. “It was important for me to take that role for the team. I have been working very hard and it's nice to have that first victory.
“We were up for it, we can't control the weather but the bowling group did well. My plan was to bowl my variations and get batsmen to make their mistakes. It came out well.
“As long as I take wickets I'll keep on celebrating.”
South Africa, missing injured paceman Dale Steyn, lost to England, Bangladesh and India before picking up a point in their rain-ruined match against the West Indies.
Their win lifts them to seventh in the 10-team table after five matches but their chances of qualifying for the semi-finals by reaching the top four look remote.
There was little sign of the carnage to come when Hazratullah Zazai and Noor Ali Zadran put on 39 runs for Afghanistan's first wicket.
Zazai was the first to go and when leg-spinner Tahir bowled Zadran for 32 with his first ball and then caught Asghar Afghan off his own bowling for nought in the same over, Afghanistan were in deep trouble.
Nabi became the third Afghan batsman to lose his wicket in the space of seven balls when he was bowled by Phehlukwayo.
When Naib was caught by Aiden Markram of the bowling of Tahir, Afghanistan were teetering on the brink of disaster at 77-7.
Rashid Khan struck 35 from 25 balls, with six fours, but even his late flourish could only lift the score to 125.
“We didn't expect that spell from Tahir,” said Nabi. “We did well against the seamers but the batsmen didn't take responsibility in the middle. We need a good total on the board so we needed a partnership. We made a lot of mistakes.
“We have a lot of batsmen in the team. We need in the middle of the innings them to push the scoreboard up.”
South Africa: Hashim Amla, Quinton de Kock (wkt), Aiden Markram, Faf du Plessis (capt), Rassie van der Dussen, David Miller, Andile Phehlukwayo, Chris Morris, Kagiso Rabada, Beuran Hendricks, Imran Tahir
Afghanistan: Hazratullah Zazai, Noor Ali Zadran, Rahmat Shah, Hashmatullah Shahidi, Asghar Afghan, Mohammad Nabi, Gulbadin Naib (capt), Ikram Alikhil (wkt), Rashid Khan, Aftab Alam, Hamid Hassan