Left-arm pacer Junaid did the early damage, removing openers Liton Das and Soumya Sarkar in his consecutive overs.
But Bangladesh's go-to man in crisis situations, Mushfiqur once again came to his side's rescue and in Mithun's company first stabilised the rocking ship and in the process brought up the century stand in 176 deliveries.
Mushfiqur looked set for a well-deserved century but luck was not on his side as he sneaked a good length delivery from Afridi to Sarfraz Ahmed just one short of the three-figure mark.
Young left-arm fast bowler Shaheen Shah Afridi (2/47) combined with Junaid to restrict Bangladesh to 239.
Bangladesh pace spearhead Mustafizur Rahman combined with Mehidy Hasan to jolt the Pakistani innings leaving them tottering at 18/3.
Imam ul Haq remained the batting mainstay of the Pak innings with a gritty 83 as he kept their hopes alive till he was at the crease.
Imam though combined with Shoaib Malik to forge a 67 run partnership to pull his team out of trouble.
Mortaza dived full length to his left and grasped the chance offered by Malik with both hands to send Pakistan into a state of gloom.
Soon after Imam was stumped off Mahmudullah to end Pakistan's hopes of a victory.
Later Bangladesh made quick work of the lower-order resistance to wrap up an astonishing victory and a place in the final of the Asia Cup.