|ICC Men's Cricket World Cup, The Oval|
|Bangladesh 330-6 (50 overs): Mushfiqur 78, Shakib 75|
|South Africa 309-8 (50 overs): Du Plessis 62, Mustafizur 3-67|
|Bangladesh won by 21 runs|
|Scorecard; Table; Schedule|
Bangladesh stunned South Africa to start their World Cup campaign with a fine 21-run victory at The Oval.
Bangladesh made 330-6 - their highest one-day total - with Mushfiqur Rahim scoring 78 and Shakib Al Hasan 75 in front of a passionate crowd strongly in their favour.
The pair put on 142 for the third wicket and, although both fell in the final 15 overs, Mahmudullah helped power his side to the highest total of the tournament with an unbeaten 46 off 33 balls.
South Africa, who were sloppy in the field, lost crucial wickets as they rarely threatened to complete the highest World Cup chase in history.
Opener Quinton de Kock fell to a shambolic run-out early on, captain Faf du Plessis was bowled for 62 and Rassie van der Dussen was dismissed for 41 in the 40th over.
The Proteas still had slim hope with three overs left, JP Duminy at the crease and 44 needed - but he played on off Mustafizur Rahman to depart for 45.
The defeat means South Africa have lost their opening two matches in the competition, having been beaten by England in the opener on Thursday.
Bangladesh impress in winning start
Bangladesh are a much-improved team in recent years - they won a tri-series against West Indies and Ireland before this tournament and have series wins over India and Pakistan since the last World Cup - but this result still saw the side ranked seventh in the world beat the one ranked third.
Bangladesh were given a solid start by Tamim Iqbal and Soumya Sarkar, who shared a stand of 60, but the experienced pair of Shakib and Mushfiqur rebuilt excellently after both openers fell.
They rotated the strike and scored freely through extra cover and square leg, scoring at close to a run a ball.
It looked like Bangladesh would let a good position slip when Mushfiqur departed soon after Shakib, but Mahmudullah's late hitting, which included three fours and a big six over mid-wicket, and support from Mosaddek Hossain, who made 26, regained momentum as 54 runs came from the last four overs.
With the ball, Bangladesh were more disciplined than the Proteas, with their spinners economical on the same pitch used for England's win over South Africa.
Shakib bowled opener Aiden Markram through the gate for 45 and Mehedi Hasan turned one between Du Plessis' bat and pad as he advanced down the pitch.
Seamers Mohammad Saifuddin and Mustafizur Rahman returned later in the innings to seal victory, with the former bowling a wicket maiden that included the scalp of the well-set Van der Dussen.
Bangladesh play New Zealand in a day-night game on Wednesday, again at The Oval.
South Africa face uphill struggle to qualify
For all Bangladesh's good play, they were helped by South Africa's flat and untidy showing.
The Proteas showed little evidence of learning from the defeat by England, even though the match was played on the same pitch.
In the fifth over they missed an opportunity with an edge from Soumya going between Markram at first slip and Du Plessis at second, with neither making a real effort to go for the catch.
In the overs that followed there were a number of misfields and, in the 47th over Kagiso Rabada put down Mahmudullah when he was on 12, which proved costly.
South Africa lost fast bowler Lungi Ngidi to a hamstring injury after he bowled only four overs, but they also disappointed with the bat.
Every member of the top six faced at least 30 balls but no-one showed sustained aggression to reduce the increasing required run-rate.
De Kock was out in comical fashion, being called for a run by Markram before both stopped midway down the pitch and the left-hander was stranded when wicketkeeper Mushfiqur threw down the stumps.
South Africa face India, one of the main contenders for the tournament, at Southampton on Wednesday.
'I can promise there will be fight on Wednesday' - reaction
South Africa captain Faf du Plessis: "Today didn't go according to plan - 330 was a little over par. Everyone chipped in with the bat but it was not enough.
"Looking back on it, I wouldn't have bowled first. But the thinking was speaking to all the local guys who said there would be more pace and bounce in it.
"There are a few areas where we weren't great today. To go for so many runs at the end, those last five overs were very bad.
"We're a proud sporting nation. The skills weren't here today but I can promise there will be fight against India on Wednesday."
Bangladesh captain Mashrafe Mortaza: "Mushy always plays that kind of innings, and Shakib batted so well.
"That was a good wicket to bat on, and we knew we had to bowl in the right areas. We were able to get wickets in patches.
"The crowd was behind us - thanks to all the Bangladeshi crowd."
Former England captain Alec Stewart on TMS: "An outstanding performance. South Africa were favourites but haven't been allowed to show how good they are.
"Bangladesh have dominated proceedings and will upset at least a couple of other sides, especially if they play on used pitches more."
Test Match Special's Dan Norcross: "The way Bangladesh played today, I can see them beating other sides in this tournament and not in a giant-killing.
They have a clear plan, good batsmen, terrific spin bowlers and The Fizz [Mustafizur Rahman]."