Mohammad Isam is ESPNcricinfo's Bangladesh correspondent. @isam84
WI v ENG (1)
SA v BAN (W) (1)
IND v ENG (W) (1)
Abu Dhabi T10 (3)
Legends League (1)
BAN v NZ (1)
AUS v PAK (1)
SA v WI (A tour) (1)
WI v IRE (EME) (1)
Bangladesh 314 for 7 (Shakib 77, Yasir 50, Litton 50, Maharaj 2-56, Jansen 2-57) beat South Africa 276 (van der Dussen 86, Miller 79, Mehidy 4-61, Taskin 3-36, Shoriful 2-47) by 38 runs
Bangladesh have now won ODIs in every country they have played in. They ticked South Africa off the list on Friday, registering their first win in 20 years of touring here. They beat the home side by 38 runs, following a team effort that included three fifties that set up a total of 314 for 7, and two bowlers taking three wickets or more.
David Miller was Bangladesh's last stumbling block but when the left-hander fell in the 46th over, it was all but over for the home side. Miller was stopped at 79 off 57 balls, at a time when he was striking a boundary almost every over. Rassie van der Dussen top-scored with 86, which helped South Africa get out of an early jam, but it wasn't enough in a big chase.
He struck twice in the first nine overs as Bangladesh struck three early blows. Shoriful Islam had Janneman Malan caught behind, before Taskin jammed one into Kyle Verreynne's pads, plumb in front, and then had Aiden Markram caught at point for a three-ball duck.
Temba Bavuma and van der Dussen took stock of the dire situation, and slowly rebuilt the chase with an 85-run stand. Bavuma found it difficult to pierce the gaps, but van der Dussen stroked the ball better, hitting three beautiful cover drives apart from two reverse-swept fours, two hits through midwicket and a top-edged six.
Shoriful removed Bavuma in the 27th over but it brought more trouble to the crease for Bangladesh: Miller.
He provided the thrust in a 70-run fifth wicket stand with van der Dussen, giving South Africa a sniff despite the steep required rate. Bangladesh could have broken the partnership in the 35th over when substitute Najmul Hossain Shanto scored a direct hit from mid-off. But third umpire Adrian Holdstock viewed just one replay even though TV commentator Pommie Mbagwa kept making the point that van der Dussen's bat was in the air. It was, as replays showed a few balls later.
Thankfully for Bangladesh, van der Dussen fell three overs later when Yasir took a superb diving catch at the deep square-leg boundary. Andile Phehlukwayo struggled through 12 balls, playing and missing frequently, before holing out to Litton Das at long-off.
Miller struck a few more blows but Bangladesh were well on top now. Mehidy had Marco Jansen caught brilliantly by Tamim at deep midwicket, had Rabada caught and bowled, and then Miller stumped. This left South Africa 242 for 9 and well and truly beaten.
When Bangladesh were sent in, Tamim and Litton played out the toughest period, with the SuperSport Park pitch offering uneven pace and bounce at the start.
They added 95 for the first wicket. Litton made his fourth 50-plus score in his last five international innings, striking the ball cleanly against the seamers, and attacking Keshav Maharaj early with three fours and a six over cover. Tamim was circumspect, understandably, having come off a lean ODI series against Afghanistan. But he struck the ball sweetly too, once he was set.
It was not just Bangladesh's first 50-plus opening stand in any format in South Africa, but the first time a Bangladesh opening pair had lasted for more than 11.1 overs in an ODI here. This was the perfect platform for Shakib and Yasir.
The pair got together in the 29th over, at a time when Bangladesh had briefly lost their way. But Shakib counter-attacked, hitting Maharaj down the ground as soon as he had removed removed Mushfiqur Rahim. Yasir was getting set at the other end. By the time Shakib struck Andile Phehlukwayo and Marco Jansen for three sixes in a short span, Yasir too got into his groove, striking Ngidi over square leg and flicking Rabada beautifully over midwicket.
Bangladesh didn't lose their shape even though Shakib and Yasir got out in the space of three balls. Mahmudullah and Afif Hossain struck a six each, while Mehidy hit two sixes as the visitors added 91 runs in the last 10 overs.
South Africa's bowlers let themselves down on a wicket that had variable pace and bounce. Ngidi went for 75 in his ten overs, the most by a South Africa bowler at home against Bangladesh. Maharaj and Jansen took two wickets each while Ngidi, Rabada and Phehlukwayo took one each.
How Mehidy found his allrounder groove
The Bangladesh offie started out as a Test specialist bowler. Now he's coming into his own in the white-ball sides, with bat and ball
How Shakib and AB de Villiers boosted Yasir Ali
He failed to fire in the Afghanistan series, but bounced back to help Bangladesh record their first win in South Africa
Shakib, Taskin and Mehidy put Bangladesh 1-0 up
Litton Das and Yasir Ali also contributed significantly to a comfortable victory