Shaheen Shah Afridi grabbed three wickets while openers Fakhar Zaman and Abdullah Shafique cracked half-centuries as Pakistan stormed to a seven-wicket victory over Bangladesh on Tuesday to stay afloat in the race for a ICC Men’s ODI World Cup semi-final place.

Shaheen’s 3-23 helped Pakistan dismiss Bangladesh for just 204 in 45.1 overs before Zaman’s 74-ball 81 and Shafique’s 69-ball 68 guided Pakistan over the line for the loss of three wickets with 105 balls to spare.

The victory revived Pakistan’s outside hopes of reaching the semi-finals with six points from seven matches.

They still need to win against New Zealand (November 4 in Bengaluru) and England (Kolkata on November 11) and also hope other results go their way if they are to stay in the tournament.

In contrast, Bangladesh became the first side to crash out of the ten-team event with just one win from seven games.

Needing to improve their net run-rate, Zaman and Shafique cruised to 128 by the 22nd over.

Shafique hit nine boundaries and two sixes as he made his third half century in addition to a hundred in the tournament.

He fell leg-before to spinner Mehidy Hasan Miraz while skipper Babar Azam holed out to the same bowler for nine.

Zaman, who recovered from a knee injury to replace Imam-ul-Haq in one of three changes for Pakistan, smashed seven sixes and three boundaries, his 16th ODI fifty, but first after 11 innings.

He holed out to Miraz in the 28th over but Mohammad Rizwan (26) and Iftikhar Ahmed (17) remained undefeated to complete the modest chase.

Miraz finished with 3-60, the only bright spot in Bangladesh’s bowling.

Shaheen’s 100th wicket

Earlier, Shaheen and fellow fast bowlers Mohammad Wasim (3-31) and Haris Rauf (2-36) ripped through Bangladesh.

The pace trio were too hot to handle as Bangladesh struggled on a dry and slow Eden Gardens pitch.

Bangladesh, who won the toss and batted, only passed the 200-mark thanks to a solid 70-ball 56 from Mahmudullah, 45 by Liton Das and skipper Shakib Al Hasan’s 64-ball 43.

Shaheen struck with the fifth ball of his first over, trapping opener Tanzid Hasan right in front of the stumps and then saw Usama Mir clutch on to a flick off Najmul Hossain Shanto (four) in his next.

The first dismissal gave Shaheen his 100th wicket in his 51st one-day international, making him the 21st Pakistani bowler with a century of wickets.

Pace partner Haris made it 23-3 with the wicket of veteran Mushfiqur Rahim, caught behind for five in the sixth over.

It took a 79-run stand between Mahmudullah and Liton to carry Bangladesh to 102 when Iftikhar broke the stand with a soft dismissal of Liton, caught off a loose shot. Liton hit six boundaries in his 64-ball knock.

Shaheen came back for his second spell to finish off Mahmudullah, bowling him with a superb outswinger that hit the top of the off stump. Mahmudullah’s knock had a six and six boundaries.

Shaheen joined Australian spinner Adam Zampa as the top wicket-taker at this World Cup with 16.

Shakib, who had a poor tournament with just 61 runs in five innings ahead of Tuesday’s game, mistimed a hook off Rauf and was caught by Agha Salman after hitting four boundaries.

Miraz hit a six and a boundary to score a 30-ball 25 but Wasim removed him and then Taskin Ahmed (six) and Mustafizur Rahman (three) in successive overs as Bangladesh lost their last six wickets for 74 runs.