Bangladesh posted their highest total in one-day international cricket as they shocked South Africa to start their World Cup campaign with a 21-run win.
A record 142-run stand between Shakib Al Hasan (75) and Mushfiqur Rahim (78) laid the foundations before a late onslaught from Mahmudullah (46no from 33 balls) took Bangladesh up to 330-6 at The Oval.
That left South Africa needing the highest successful chase in World Cup history to win, but an unhappy knack of losing a wicket just as they seemed to be in the ascendancy saw them come up short, finishing 309-8.
Back-to-back defeats means, just four days into the tournament, the pressure is on the Proteas, who suffered another blow with Lungi Ngidi only able to bowl four overs before leaving the field with a hamstring problem.
South Africa had earlier chosen to put Bangladesh in to bat and may well have been regretting that decision as Tamim Iqbal and, in particular, Soumya Sarkar came flying out of the blocks.
They put on 60 before Tamim (16) was dismissed in the ninth over and although Soumya (42 from 30 balls) fell three overs later, Bangladesh maintained their momentum through Shakib and Mushfiqur.
The pair batted superbly, finding the boundary in almost every over to turn up the pressure on the South Africa bowlers, both passed 50 and the partnership had stretched to 142 before an increasingly frustrated Proteas attack made the breakthrough.
Shakib was the man to go, bowled round his legs by Imran Tahir on the sweep to signal the start of South Africa's best spell of the innings. Mushfiqur was starved of the strike, facing only 12 balls in the next seven overs before he fell to Andile Phehlukwayo, soon after Mohammad Mithun (21) had been bowled by Tahir.
With the innings threatening to peter out Mahmudullah sprung into life, and with some assistance from Mosaddek Hossain (26), and latterly Mehidy Hasan (5no), helped Bangladesh smash 54 from the final four overs to take them to their record total.
South Africa's chase began well with Quinton de Kock and Aiden Markram putting on 49 in quick time before Mushfiqur, having dropped a sharp chance behind the stumps, managed to redeem himself immediately, collecting the loose ball and running out De Kock (23) after a mix-up between the batsmen.
Markram and Faf du Plessis added 53 for the second wicket, but again, a promising partnership was cut short - this time by Shakib who skidded one through Markram's defences as the opener played back.
South Africa regrouped once more and Du Plessis was looking in excellent touch, thumping the ball over long off for six to reach his half-century, but a rush of blood saw him charge down the pitch to Mehidy, the off-spinner saw him coming and ripped the ball past his inside edge and pegged back off stump.
Bangladesh's spinners had kept the South African batsmen tied down, but it was the return of the seamers that brought the next wicket, ending a fourth-wicket partnership of 55. David Miller was the man to go, getting a leading edge to backward point off Mustafizur Rahman.
It was a big wicket for Bangladesh and they strengthened their grip on the contest as Rassie van der Dussen (41), Andile Phehlukwayo (8) and Chris Morris (10) were dismissed.
The importance of Bangladesh's late flourish was shown as South Africa were left needing 55 from the last four overs, JP Duminy (45) did his bit to get the Proteas as close as he could before he dragged onto his own stumps off Mustafizur.
The left-arm seamer bowled it out, finishing with figures of 3-67, as Bangladesh laid down a marker for the tournament.
The Cricket World Cup continues on Monday as England face Pakistan. Watch live on Sky Sports Cricket World Cup (channel 404) and Main Event (channel 401) from 10am.