Bangladesh head to the T20 World Cup mired in a poor run of results after October 13's defeat by Pakistan left them without a win from four tri-series matches in New Zealand, but their mood will be lifted by the form of captain Shakib Al Hasan.
New Zealand and Pakistan had already booked their spot in Friday's final but Bangladesh had been hoping for a confidence boosting win before crossing the Tasman Sea for their T20 World Cup campaign in Australia.
Shakib notched his second straight half-century with a confident knock of 68 and with Litton Das, who top scored with 69, powered Bangladesh to 173-6 in Christchurch.
That proved insufficient, however, as an unbeaten 45 from Mohammad Nawaz saw Pakistan through with seven wickets in hand and a delivery to spare after the opening pair of Babar Azam and Mohammad Rizwan had set up the successful chase with fifties.
"It's been difficult but I think we played our best cricket today," all-rounder Shakib said. "We could have scored a few more runs, we only got three runs in the final over where we would expect 12 to 15.
"But I don't want to point out the negative side, we played really well in the middle overs, where we were lacking, so that's a very good sign.
"The preparation we wanted we got from this series and now it's up to us to express ourselves in the World Cup and do something good for the country."
Bangladesh have tried different opening combinations in the series but their latest pairing of Soumya Sarkar (4) and Najmul Hossain Shanto (12) also failed to click, the former falling at the start of the third over with seven on the scoreboard.
Litton, who turned 28 on Thursday, appeared to suffer a muscle strain a few balls into his knock but he still managed to combine in an 88-run, third-wicket stand with captain Shakib.
Shakib, who was not happy with his own bowling, thought they were now "very clear" on the team that will play in the World Cup, which kicks off with the qualifying group stage on Sunday.
Other World Cup warm-up matches between Sri Lanka and Ireland and Scotland against the United Arab Emirates were washed out in Melbourne due to rain.