Bangladesh completed their first series victory over South Africa in any format by winning a rain-affected third one-day international in Chittagong by nine wickets on Duckworth-Lewis.
The Tigers chased down a revised target of 170 in a game reduced to 40 overs a side to seal a 2-1 success and register their fourth series win in a row on home turf.
Bangladesh restricted the Proteas to 168-9 in their innings – Shakib Al Hasan (3-33) was the pick of the bowlers – before Soumya Sarkar (90) and Tamim Iqbal (61no) inspired the hosts to a famous triumph.
South Africa, who replaced Chris Morris with Morne Morkel following their seven-wicket loss in Mirpur last time out, stumbled to 78-4 from 23 overs before the heavens opened.
A three-hour delay followed, leading to 10 overs being shaved off the innings, but the tourists dragged themselves to 113-4 upon the resumption after a 63-run stand between David Miller (44) and JP Duminy (51)
However, when former Yorkshire player Miller smashed Mashrafe Mortaza straight to backward point in the 30th over – handing the seamer his 200th ODI wicket – the Proteas added just 55 runs from the final 10 overs and only 19 from the last five.
Bangladesh openers Tamim and Sarkar had no such trouble scoring, the latter clubbing Kagiso Rabada – the right-arm quick who took 6-16 on debut in the first ODI – for three straight fours in the eighth over en route to a second successive fifty.
Sarkar, who brought up his hundred partnership with Tamim in the 16th over, could not usher the Tigers over the line himself, holing out to Hashim Amla off the spin of Imran Tahir with 16 runs still required.
But new batsman Liton Das sealed the win in style – and sent home fans wild – by pulling Tahir over midwicket for four as Bangladesh prevailed with 83 balls to spare.
The Tigers, who lost 2-0 to the Proteas in the preceding Twenty20 series, will now battle South Africa in two Test matches, with the first taking place in Chittagong from July 21.