Seamer Mohammad Irfan geared up for the World Cup with five-wicket hauls to help Pakistan register win in the warm-up game in Sydney on Monday.
Pakistan pulled Bangladesh back from an impressive 190-3 in the 40th over, taking the last seven wickets for 56 to dismiss them for 246 in the final over.
Bangladesh were lifted by Mohammad Mahmudullah (83) and Tamim Iqbal (81), with the pair adding 168 for the third wicket.
But lanky paceman Irfan brought Pakistan back into the game with 5-52, his last three wickets coming in the slog overs.
Pakistan owed their victory to Sohaib Maqsood, who made a brilliant 93 not out to help his team overhaul the target in 48.1 overs.
Maqsood hit nine boundaries and two sixes during his 90-ball knock. He added 51 for the fourth wicket with Haris Sohail (39) and 63 for the fifth with Umar Akmal, who also made 39.
Pakistan play England in their second warm-up game on Wednesday before taking on title-holders India in their first World Cup game in Adelaide on Sunday.
Bangladesh open their campaign with a match against minnows Afghanistan in Canberra on February 18. -AFP