Opener Ahmed Shehzad blasted a 123-ball 103 to set the foundation for a record chase but it was Shahid Afridi's blistering 59 off 25 balls which helped Pakistan set up a summit clash against Sri Lanka.
With this victory, Pakistan grabbed four points to aggregate 13 with the help of three victories in four matches.
India, on the other hand, are currently with four points and even a win against Afghanistan tomorrow won't be enough for Virat Kohli's men to reach the finals. Mohammad Hafeez (52) and Fawad Alam (74) too blasted scintillating half-centuries to help Pakistan overhaul Bangladesh's record score of 326 for 3 in their stipulated 50 overs at the Shere Bangla National Stadium here.
For Bangladesh, Mominul Haque (2/37) was the highest wicket taker, while Shakib Al Hasan, Abdur Razzak and Mahmudullah scalped one each.
Earlier, Bangladesh feasted on a below bowling and fielding effort from Pakistan to pile up their highest-ever ODI total of 326 for three.
While opener Anamul Haque build the foundation with a patient 100 off 132 balls with six fours and four sixes, it was their senior-most stars Mushfiqur Rahim (51 no, 33 balls) and Shakib al Hasan (44 no, 16 balls), who finished the innings with a smashing 77-run partnership in only 5.3 overs.
Opener Imrul Kayes (59 from 75 balls; 5x4, 2x6) who added 150 runs for the opening stand with Anamul and Mominul Haque (51 off 47 balls) also made useful contributions to prop up Bangladesh total.