Shakib Al Hasan's superb Cricket World Cup continued as he compiled an unbeaten century to lead Bangladesh to an emphatic seven-wicket win over West Indies at Taunton.
The Tigers were undaunted by a target of 322, in-form all-rounder Shakib leading the way with 124 not out - a second successive hundred for the tournament's leading run-scorer - against a sluggish Windies attack.
Liton Das added an unbeaten 94, sharing 189 with Shakib on a memorable day for Bangladesh, who romped home with 51 balls to spare and leapfrogged Windies into fifth position in the group stage.
West Indies' own qualification hopes look increasingly slim and they got off to a poor start when opener Chris Gayle was caught behind off Mohammad Saifuddin (3-72) for a 13-ball duck.
Shai Hope (96 off 121 balls) and Evin Lewis (70 off 67) responded impressively to lay a strong platform, before Shimron Hetmyer (50 off 26) and skipper Jason Holder (33 off 15) raised the tempo in the latter stages of an innings that featured three wickets for Mustafizur Rahman and two for Shakib.
A total of 321-8 looked to have left Bangladesh facing a tall order, given no team had chased down more than 245 in the competition prior to Monday.
However, the Tigers got off to a quick start through openers Tamim Iqbal (48) and Soumya Sarkar (29), with the Windies looking lacklustre in the field, before Shakib took centre stage once again.
Having made 75, 64 and 121 in his previous three innings, Shakib maintained his fine form and found an able partner in Das, with the pair able to score freely all around the wicket.
The beleaguered Windies simply had no answer to Bangladesh's fourth-wicket pair, with Das even hitting Shannon Gabriel for three sixes in a row as his side closed in on a hugely convincing victory.
Tigers in the hunt for semis, Windies on the brink
Monday's result realistically preserved Bangladesh's hopes of reaching the semi-finals. They are up to fifth in the table, having beaten South Africa and the Windies in impressive fashion.
However, after a heavy defeat to England in their previous match, this was another dire performance from West Indies, whose bowling left much to be desired. Since thrashing Pakistan in their opening game, Holder's men have lost three matches and seen another rained off. It is hard to see them recovering from here.
Shakib reaches landmark
What a tournament it has been for Shakib, who once again starred for Bangladesh here as well as passing the impressive milestone of 6,000 ODI runs. It was a world-class performance of real maturity and skill from the 32-year-old, who has relished the responsibility of stepping up in the batting order to number three. He also made a key contribution with the ball at Taunton, taking two wickets including the valuable scalp of Lewis.