It was Shakib's second successive ton as he emulated fellow batsman Mahmudullah's record of consecutive World Cup centuries, made against England and New Zealand in 2015.
The innings sent him to the top of the scoring charts in this World Cup, the Bangladesh all-rounder now leads the race with 384 in four games, averaging an unbelievable 128.
Beginning their innings knowing that only a record successful chase can win them the game, openers Tamim Iqbal and Soumya Sarkar brought the first 50 runs in 8.1 overs.
Soumya hit two fours and two sixes to make 29 in 23 balls before becoming the first casualty with the team score on 52.
Tamim and Shakib then added 69 in the second wicket, which abruptly ended when the former fell victim to a run out. Tamim might be ruing the chance to net a fifty, but he did make 48 priceless runs in 53 balls, thanks to six fours.
Mushfiqur Rahim (1) was gone in the next over, leaving the Bangladesh tent anxious, yet Shakib and Liton had other ideas.
The duo formed one of the most memorable partnership in the country's history, making 189 in the fourth wicket to seal the victory, that too with 51 balls to spare.
Man-of-the-Match Shakib ended the game with an unbeaten 124, made in just 99 balls courtesy of 16 fours. Liton's enthralling innings featured eight fours and four sixes.
Put into bat first, fifties from Shai Hope, Evin Lewis and Shimron Hetmyer alongside a cameo from captain Jason Holder took West Indies to 321 for 8.
Hope and Lewis made 116 in the second wicket after Chris Gayle was out for a duck. The left-handed batsman could not make a single run in 13 balls and Mohammad Saifuddin only put an end to his miseries when wicket-keeper Mushfiqur Rahim took a good catch.
Lewis and Hope now repaired the early damage before the partnership was broken by Shakib Al Hasan. Lewis's innings ended on 70, which came in 67 balls thanks to six fours and two sixes.
After the fall of Lewis and Nicholas Pooran (25), also a victim of Shakib, Shimron Hetmyer entered the fray to change the colour of the game. Hetmyer slammed four fours and three sixes to make 50 in 26 balls while Holder added 33 in just 15 deliveries thanks to four fours and two sixes.
Mustafizur Rahman picking up Hetmyer and Andre Russell in the space of four balls meant the Caribbean side cannot go near the projected 350 plus score.
The speedster also grabbed the wicket of Hope, whose 96 came in 121 balls. His 191-minute-long innings featured only four fours and a six.
Bangladesh, full of dreams, will play their next game against Australia on Thursday while a dejected West Indies will play unbeaten New Zealand two days later.- en.prothomalo.com