Earlier, Shakib Al Hasan (84) made the highest Twenty20 international score by a Bangladesh batsman as his team compiled 175 for six.
Bangladesh had to stop the opposition scoring 140 in reply to ensure they went through to the Super Eights instead but their bowling was not good enough to contain Pakistan's big hitters.
Shakib looked in ominous form as he resorted to playing cuts and pulls to keep the run-rate at 9 and above.
The 25-year-old batsman completed his half-century in the 13th over with a six off medium-pacer Yasir Arafat over deep mid-wicket boundary.In the same over, Shakib was dropped at mid-off by Shahid Afridi who could not hold on to the ball while diving to his left. Tanvir dropped a regulation catch of Rahim at midwicket to add to Pakistan's woes.
Arafat got rid of Rahim in the 15th over when the skipper was caught at deep midwicket by Imran Nazir. Afridi got rid of Mahmudullah (0) in the next over as Bangladesh reached 136 for four in the 16th over.Shakib continued with his onslaught as he clobbered Umar Gul for three fours in the 18th over to take his team past 150-run mark.
Bangladesh: 175/6 (Shakib Al Hasan 84; Yasir Arafat 3/25).Pakistan: 178 for two in 18.4 overs (Imran Nazir 72, Md Hafeez 45)