South Africa collapsed while chasing for the second time in two World Cup matches. And its injury woes deepened when paceman Lungi Ngidi, who opened the bowling on Sunday, limped away with a left hamstring problem after delivering only four overs.
Hashim Amla didn't play as a precaution after being hit on the helmet against England, but is expected to face India on Wednesday, when Dale Steyn should also make his first appearance of the tournament but in another depleted attack.
But those are South Africa's concerns.
Bangladesh launched its campaign in style on the back of its biggest World Cup partnership of 142 by Mushfiqur Rahim and Shakib Al Hasan, the world's top-ranked allrounder.
They casually took apart the South Africans until they were gone by the 43rd over, after which Mahmudullah and Mosaddek Hossain hit 60 off the last seven overs to rush Bangladesh past 300 and to its biggest total in its 33-year history in ODIs.
Bangladesh made a thrilling start. In counterattacking short balls from Ngidi and Kagiso Rabada, Soumya Sarkar was streaky with pulls and hooks. He edged to the slips twice, survived an lbw review, and broke his bat hitting six boundaries off Ngidi, who left the field after conceding 34 runs and didn't return.
Meanwhile, Tamim Iqbal took hits on the thigh and shoulder from Rabada, after passing a fitness test on the left wrist that received a serious whack on Friday in the nets. Tamim was out for 16, but more importantly he helped to take the sting out of the South African attack.
Soumya rode his luck for 42 off 30 balls, which brought together Mushfiqur and Shakib. They gave the bowlers nothing, reaching their half-centuries serenely, and earning the confidence to go for switch hits and reverse sweeps. South Africa appeared hapless.
Their fifth century partnership in ODIs reached 142, surpassing the previous best Bangadesh World Cup stand of 141 by Mushfiqur and Mahmudullah in the 2015 win against England. Then Shakib was bowled around his legs trying to sweep Imran Tahir. Shakib made a World Cup-best 75 from 84 balls, including eight boundaries and a six.
Tahir also bowled Mohammad Mithun, who played on when on 21, and Mushfiqur was out for 78 off 80 balls holing out in the deep.
But they'd put rare air in sight, and Mahmudullah and Mosaddek Hossain went after it, lashing 70 runs off the last six overs.
Mahmudullah, who was dropped on 12, hit 46 off 33 balls, and Mosaddek banged 26 off 20 to edge Bangladesh's previous best ODI total of 329-6 in 2015 against Pakistan in Dhaka, and its previous World Cup best of 322-4 in 2015 against Scotland in Nelson.
Set 331 to win, three days after failing to beat England's 311 on the same pitch, South Africa had to pull off the most successful chase in World Cup history. It didn't seriously threaten.
The first wicket was wasted. In the 10th over, Quinton de Kock was run out for 23 when partner Aiden Markram ignored advice to stay in his crease.
Markram tried to make up for his mistake with captain Faf du Plessis, and lasted 10 more overs until Shakib bowled him through the gate for 45 off 56 balls.
The spinners were tying down South Africa, which was locked up from the start by Mehidy Hasan bowling from the second over, Shakib from the 11th, and Mosaddek from the 19th. Shakib's early figures were 7-0-25-1.
Du Plessis was all class in compiling 62 off 53 balls with five boundaries and a six, but when he was drawn out by Mehidy and lost his leg stump at 147-3, South Africa's hopes walked away with him.
The run rate required was up to 8, with South Africa stuck on 6, and the pressure to play shots told.
South Africans were picked off in the 36th, 40th, 43rd, 46th, and 48th overs with the run rate at 6 and the required rate rising to ridiculous levels.
Mustafizur and Mohammad Saifuddin shared five wickets but the spinners set it up. Mehidy, Shakib, and Mosaddek conceded only five boundaries in their 26 overs between them.
South Africa was strangled, and its hopes of a first World Cup title appeared almost lifeless.