Shakib’s 51 laid the foundations for Bangladesh to score 262-7 and made him the leading run-scorer in this year’s World Cup. The 32-year-old then ripped through the Afghan batting line-up with his career-best ODI figures of 5-29 from 10 overs.
Shakib is only the second player in World Cup history to take five wickets and hit a 50 in the same match after India’s Yuvraj Singh against Ireland in 2011.
Bangladesh, winners against South Africa and the West Indies earlier in the tournament, are up to fifth place in the 10-team group stage. They sit one point behind fourth-placed England, who face Australia on Tuesday, in the race to seal a semi-final berth via a top-four finish.
Mashrafe Mortaza’s side play India and Pakistan in their final two group matches.
Afghanistan became the first team to be eliminated after an agonising 11-run loss against India on Saturday, when Mohammed Shami’s final-over hat-trick denied them a famous upset.