Bangladesh 262 for 7 (Mushfiqur 83, Shakib 51, Mujeeb 3-39) beat Afghanistan 200 all out (Shinwari 49*, Naib 47, Shakib 5-29) by 62 runs
Shakib Al Hasan came, spun, and conquered, carrying Bangladesh to a comfortable 62-run win over Afghanistan that kept their semi-final aspirations alive at the 2019 World Cup.
Shakib made it to the record books on the way, most significantly becoming only the third player - after Kapil Dev and Yuvraj Singh - to have a century and a five-wicket haul in the same edition of the World Cup, and the second, after Yuvraj, to score a 50-plus score and return a five-for in the same World Cup game. He first extended his good batting form to hit a fifth 50-plus score in six innings in the tournament, and then broke the back of Afghanistan's chase with 5 for 29 in ten overs - Bangladesh's best World Cup figures.
Watch on Hotstar (India only): Highlights of Bangladesh's 62-run win over Afghanistan
Bangladesh now have seven points with two games in hand. Those two games are against India and Pakistan, but the manner in which Bangladesh have been playing, they will have the belief that they can continue to upset pre-tournament predictions.
Against Afghanistan, form-wise, Bangladesh were heavily favoured to win. But they have had a prickly history with Afghanistan and the head-to-head record is a lot closer than they would want. They did look tentative in the initial exchanges, but on pitch that gripped, and a ground with long boundaries, that wasn't catastrophic.
Watch on Hotstar (India only): Highlights from Mushfiqur Rahim's 87-ball 83
Gulbadin Naib made the surprising decision to bowl first on winning the toss, a move that made Mashrafe Mortaza happy because he wanted to bat first in any case.
Afghanistan's game plan while bowling revolved around their spinners - making the decision to bat first seem more inexplicable - and Bangladesh prepared their tactics accordingly. They broke up the successful opening combine of Tamim Iqbal and Soumya Sarkar, sending Liton Das at the top instead of Soumya to counter Mujeeb Ur Rahman. The move didn't work, with Mujeeb accounting for Liton with a carrom ball. He would later get Soumya, who came in at No. 5, too.
In the middle, he struck another crucial blow by trapping Shakib lbw, which allowed Afghanistan some measure of control in the middle overs. Mujeeb's 3 for 39 was just rewards for his excellent show. He had bowled the tough overs and kept Bangladesh's batsmen quiet. Mohammad Nabi and Rashid Khan too had good outings, with Nabi taking out Tamim.
But Mushfiqur Rahim stayed put, moving the score along. Bangladesh had a phase of more than 12 overs - from 24.1 to 36.1 inclusive - without a boundary, but Mushfiqur didn't lose patience in that phase and opened out after that. He had a shot at emulating countrymen Shakib and Mahmudullah in hitting back-to-back World Cup tons, but fell for an 87-ball 83 in the penultimate over.
However, Bangladesh did get the finishing kick courtesy Mossadek Hossain's 35 off 24, and once they had put on in excess of 250, it was always going to be an uphill battle for Afghanistan, who didn't help themselves with a sloppy display in the field - ESPNcricinfo's data had them saving three runs and conceding 19.
The chase needed one top-order batsman to play a big innings, batting throughout, but Gulbadin's 47 was the only substantial score in the top five. The openers built a steady platform, but they needed more than steady. Bangladesh gave the new ball to their pacers, Mortaza and Mustafizur Rahman, and Afghanistan's best bet was to get off to a fast start against the hard new ball with the sun out, and later milk the spinners. But with Mashrafe and Mustafizur keeping things relatively tight, Afghanistan weren't quite where they had hoped to be after the first Powerplay.
Enter Shakib. And mayhem. He got Rahmat Shah in his first over, and then returned to prise the heart out of Afghanistan's chase with the wickets of Gulbadin and Nabi within three balls.
Adding to Afghanistan's strange decision-making was another odd move: sending Najibullah Zadran at No. 8, behind wicketkeeper Ikram Alikhil. Najibullah showed the folly of that move with pleasing strokeplay, but he had walked in against an asking rate that was improbable, against a spinner on top of his game.
Shakib duly got his five-for when Najibullah wandered too far down and was stumped, and any faint hope Afghanistan might have had vanished, even though Samiullah Shinwari, playing his first game of the competition, did push them along with a stroke-filled 49 not out.
When Kapil, in 1983, and Yuvraj, in 2011, hit a century and took a five-wicket haul in the same World Cup, their teams lifted the trophy. That final result is still a long way off for this edition, but Shakib's wizardry has meant that the boulder souls in Bangladesh will dare to hope of a repeat.
Saurabh Somani is an assistant editor at ESPNcricinfo