Shakib Al Hasan and Mahmudullah both made hundreds as Bangladesh kept their hopes of a Champions Trophy semi-final alive with a stunning five-wicket win over New Zealand at Cardiff on Friday.
Bangladesh, chasing a modest 266 for victory, had collapsed to 12 for three when left-hander Shakib (114) came in.
And they were not much better off when Mahmudullah (102 not out) walked out at 33 for four. But their fifth-wicket partnership of 224 ─ Bangladesh's highest ever one-day international stand ─ transformed the match.
Shakib fell just before the finish but when Mosaddek Hossain, who'd earlier justified his recall with three wickets, edged Adam Milne for a four, the Tigers had finished on 268 for five and won with 16 balls to spare.
This defeat ended New Zealand's hopes of reaching the last four.
This was the latest upset in a week of surprises at the Champions Trophy, a tournament featuring the world's top eight ODI sides, after Pakistan's win over top-ranked South Africa and Sri Lanka's defeat of title-holders India.
It was also another memorable Bangladesh triumph in Cardiff following their shock 2005 ODI win over Australia on this ground.
But despite this sensational success they still need already-qualified England to beat Australia at Edgbaston on Saturday or hope that the match ends ─ as both Australia's previous Group A fixtures have done ─ in a no result if they are to reach the semi-finals.
Bangladesh's run chase suffered a dreadful start when Tamim Iqbal, fresh from scores of 128 and 95 against England and Australia respectively, was lbw for a second-ball duck to Tim Southee.
Southee then had Sabbir Rahman edging to wicket-keeper Luke Ronchi.
And Soumya Sarkar was lbw to Southee, Bangladesh were 12 for three.
The 28-year-old Southee had then taken three wickets for 10 runs in 16 balls.