Bangladesh moved a point behind England and the World Cup semi-final places as they beat Afghanistan by 62 runs at Southampton.
All-rounder Shakib al Hasan starred again for Bangladesh, taking a remarkable 5-29 from 10 overs after contributing another half-century with the bat.
In doing so, Shakib became just the second man to make a fifty and take five wickets in a World Cup match, following India all-rounder Yuvraj Singh against Ireland in 2011.
Mushfiqur Rahim anchored the Bangladesh innings with 83 from 87 balls as they posted 262 from their 50 overs.
The Bangladesh spinners, led by Shakib, then suffocated the Afghanistan batsman in their run chase. Captain and opener Gulbadin Naib made 47 from 75 balls, and Samiullah Shinwari 49, but Afghanistan never gained control of the required run-rate. The professional win means Bangladesh are now fifth in the World Cup table, one place behind England with the top four teams progressing to the semi-finals.
However, they have played at least one more game than all the teams above them and England can increase their cushion with victory against Australia at Lord’s on Tuesday.
Bangladesh have impressed in this tournament and were one of the teams to benefit from Sri Lanka’s win over England on Friday opening up the battle for a semi-final places.
Against Afghanistan, they were solid if unspectacular with the bat but posted a good total on a used pitch on which it was difficult to score. Shakib regained his place as the World Cup’s leading scorer, moving to 476 runs with a steady 51 from 69 balls – his fifth score over 50 in the tournament.
Bangladesh’s total proved too much for Afghanistan but their bowlers would have been relatively pleased at the halfway stage.
Mujeeb took 3-39, again impressing with his variations, and Afghanistan kept things tight through a period of 12.2 overs without a boundary in the middle overs.
But, the game was played on the same pitch Afghanistan failed to chase down a target of 225 against India and again they struggled to find a suitable pace of scoring.
After a solid start, reaching 48-0 after 10 overs, the innings stalled badly with number three Hashmatullah Shahidi making a torturous 11 from 31 balls and Afghan 20 from 38 balls.
Briefed Scorecard
Bangladesh: 262-7 (50 overs): Mushfiqur 83, Shakib 51; Mujeeb 3-39
Afghanistan: 200 (47 overs): Gulbadin 47, Shinwari 49; Shakib 5-29