David Miller's two last-over sixes powered South Africa to a four-wicket victory over Sri Lanka despite a hat-trick by Wanindu Hasaranga in a thrilling Super 12 match of the ICC T20 World Cup here on Saturday.
Miller's 23-run unbeaten cameo off just 13 balls ensured South Africa knock off the required 25 runs in the last two overs, including 15 in the final six deliveries. The Proteas did so with a ball to spare.
In a match where the pendulum swung till the very end, Kasigo Rabada (13 not out off 7 balls) took a single in the first ball of the last over. Then Miller smashed two back-to back sixes off pacer Lahiri Kumura to seal the game in his team's favour.
Rabada completed the chase by hitting the winning runs -- a boundary to the third man fence -- as the Proteas continued their fine run to stay afloat in the tournament.
First left-arm spinner Tabraiz Shamsi (3/17) ran through the Sri Lankan batters as South Africa bundled them out for 142 despite opener Pathum Nissanka's whirlwind 72 and then chased the tricky target.
Thus, the efforts of young leg-spinner Hasaranga (3/20), who scalped two wickets in the 18th over, went in vain.
Skipper Temba Bavuma (46) played his part to perfection as he took the game deep and then Miller justified his finisher's tag.
Chasing 143, South African lost Reeza Hendricks (11), Quinton de Kock (12) and Rassie van der Dussen (16) cheaply.
Bavuma and Aiden Markram (19) took the game deep with their crucial 47-run stand, which played a role in the side's win.
Earlier, left-arm wrist spinner Shamsi spun his web around the Sri Lankan batters as South Africa bowled their opponents out.
On a track that aided spinners, Shamsi rattled the Sri Lankan middle-order to return with fine figures of 3/17 and his scalps included Bhanuka Rajapaksa (0), Avishka Fernando (3) and Hasaranga (4).
The 23-year-old Nissanka was the lone Sri Lankan to shine with the bat, hitting 72 off just 58 balls, with six fours and three sixes.
Put into bat, Kusal Perera (7) and Nissanka, who hit his second T20 fifty, started cautiously. Pacer Kagiso Rabada conceded two boundaries in the second over as the Islanders amassed nine runs.
Pacer Anrich Nortje cleaned up Perera as Sri Lanka lost their first wicket with 20 on the board.
Then in-form Charith Asalanka (21) joined Nissanka and the duo tried to rally the innings with a 41-run stand.
Asalanka struck two successive fours in the sixth over off Nortje, including a straight drive, as Sri Lanka fetched 13 runs from it and cantered to 39/1 after power-play.
After a couple of slow overs, both Asalanka and Nissanka freed their arms, hammering a six each in the 9th over bowled by Keshav Maharaj (0/24).
But South African pegged back the host by scalping four quick wickets. First, Rabada's brilliance in the field meant that Asalanka was run out and, in the next over, Shamsi lobbed a return catch off his own bowling to dismiss Rajapaksa and leave the opposition tottering at 62/3.
Shamsi, in a similar fashion, removed Fernando as they further slipped to 77/4. Shamsi got his third when he dismissed Hasaranga. Skipper Dasun Shanaka's (11) horrid form also continued in the game.
Nissanka, who hit his second T20 half century, continued playing his shots and took on the SA attack with gusto, but South African speedster Dwaine Pretorius (3/17) rattled the lower order.