World Cup: Bangladesh stun South Africa with 21-run win after making 330

South Africa's decision to bowl backfired as Bangladesh posted their highest score

Shakib Al Hassan South Africa AFP Bangladesh's Shakib Al Hasan celebrates the fall of a wicket with Mehidy Hasan Miraz in their match with South Africa at the Oval | AFP

South Africa's World Cup campaign has run into stormy weather with the side losing to Bangladesh by 21 runs at the Oval on Sunday. This is South Africa's second straight loss in as many games and the side will need to win nearly all their remaining seven group games to have a chance of qualifying for the semifinal stage.

South African captain Faf du Plessis won the toss, but his decision to bowl backfired horribly as Bangladesh made a formidable 330 runs for six wickets, their highest-ever total in ODIs, beating their 329 for six made against Pakistan in 2015.

All-rounder Shakib Al-Hassan and wicket-keeper batsman Mushfiqur Rahim laid the foundation for Bangladesh's total with a 142-run stand for the third wicket. Shakib, who batted at number 3, scored 75, while Rahim scored 78. Earlier, the opening pair of Tamim Iqbal and Soumya Sarkar added 60 runs in just over eight overs. Sarkar threw the South African bowlers off-balance, striking 42 off just 30 balls, with nine fours in his innings.

Mahmudullah (46) and Mosadek Hussein (26) took the Bangladesh score well past 300, with a quick-fire partnership of 66 runs in less than seven overs.

South African openers Aiden Markram and wicket-keeper batsman Quinton de Kock both started steadily, but did not force the pace. De Kock made 23 off 32 balls, while Markram made 45 off 56 balls. Du Plessis tried to accelerate the scoring rate, hitting 62 off 53 balls, including five fours and a six. While each of South Africa's top six batsmen scored over 20 runs, only Du Plessis went past 50.

David Miller (38), Rassie van der Dussen (41) and J.P. Duminy (45) all tried to keep up with the required run rate, but Bangladesh managed to keep getting wickets at crucial intervals. South Africa eventually ended at 309 for eight wickets, giving Bangladesh a 21-run victory.

Mustafizur Rahman picked three wickets for 67 runs for Bangladesh, while Shakib extended his golden touch from the bat to his bowling and fielding. Shakib picked one wicket for 51 runs and took a catch to earn the man of the match award.

South Africa play their third World Cup game on Wednesday (June 5) when they face India at the Rose Bowl. Bangladesh are also playing their next match on Wednesday, when they face New Zealand at the Oval.