Opener Ahmed Shehzad smashed an unbeaten 111 off 62 balls as Pakistan thrashed hosts Bangladesh by 50 runs to stay on course for the semi-finals of the World Twenty20 in Dhaka on Sunday. (Scorecard | Highlights)
The 22-year-old from Lahore hit 10 boundaries and five sixes in his first T20 international century to lift Pakistan to a commanding 190-5 after they elected to bat.
Bangladesh managed only 140-7 in reply in front of a sell-out home crowd of 25,000 at the Sher-e-Bangla stadium to suffer their third successive defeat in group two of the Super-10s.
With both Bangladesh and Australia out of the race, the winner of Tuesday's last league match between Pakistan and the West Indies will join India in the semi-finals from the group.
Shehzad, who reached his century off 58 balls in the 18th over, was caught off a Mashrafe Mortaza no-ball in the 19th after hitting the previous ball for a six.
The error proved expensive as Pakistan scored 44 runs in the last two overs, with Mortaza conceding 24 in the penultimate over.
Shehzad hammered 31 in an opening stand of 43 with Kamran Akmal (nine) that came off just 27 deliveries.
Bangladesh fought back by taking three quick wickets, two of them by left-arm spinner Abdur Razzak, as Pakistan slipped to 71-3 by the 10th over.
Umar Akmal, Pakistan's hero against Australia when he made 94 off 54 balls, was dismissed by Mohammad Mahmudullah for no score.
Shehzad gave the innings a boost by smashing two sixes and as many boundaries in the 13th over bowled by seamer Ziaur Rahman, which cost 22 runs.
Shehzad put on 83 for the fourth wicket with Shoaib Malik (26) in the only substantial partnership of the innings, a lesson that escaped the Bangladesh batsmen.
The hosts, looking for a bright start, lost four top-order wickets in 9.1 overs with just 47 runs on the board.
Shakib Al Hasan delighted the crowd with a 32-ball 38 that included two sixes and two fours, before he top-edged a catch off seamer Umar Gul in the 15th over to effectively end Bangladesh's challenge.
Gul finished with three for 30 in four overs, while off-spinner Saeed Ajmal took two for 20.
India play Australia in the second match of the double-header later on Sunday.