South Africa beat Sri Lanka by 4 wickets, thanks to some late hitting from David Miller and Kagiso Rabada to keep their Semi-Finals hope alive.
Chasing 142, South Africa started rather slowly. Dushmantha Chameera's fierce spell produced two important wickets for them, including the wicket of dangerous Quinton De Kock.
Moments after that, a throw at the non-striker's end from Dasun Shanaka removed in form Rassie Van der Dussen. It was a crucial breakthrough, as the timing was perfect for Sri Lanka who were struggling with fielding.
After the fall of three quick wickets, South Africa tried to rebuild the innings. The 47 runs stand between Bavuma and Markram set things up for a nail-biting finish.
Bavuma fell just 4 short of his fifty and got out before finishing the job for the Proteas. Wanindu Hasaranga turned the match in favour of Srilanka with two wickets in two balls at a crucial point of the match.
However, Miller added the last twist in the tale by hitting two consecutive sixes off Kumara when South Africa required 14 from 5 balls. Miller's big-hitting saw them over the line with 1 ball to spare.
After opting to bowl first, South African bowlers did well to restrict the Lankans to 26 for 1 in 5 overs before the man in form Charith Asalanka showed signs of aggression on a slow pitch.
It didn't last long as Kagiso Rabada's pinpoint throw, which was the turning point in the game, saw Asalanka run out for 21. It altered the course of the game.
Pathum Nissanka held on to one end without much help from others with Sri Lanka's innings progressing rather slowly. They ended up setting another tricky target of 143 for the Proteas on the back of a sublime 72 off 58 by Pathum Nissanka.
Shamsi and Pretorious were the stars with the ball for South Africa. Both picked up 3 wickets each. Pretorius' efficient death bowling restricted the Lankans to a moderate total.