The victory put all the pressure on England for their showdown with Eoin Morgan's side on March 9 in Adelaide, with Bangladesh now on five points and level with third-placed Australia, while England have two.
Tamim Iqbal came agonisingly close to scoring Bangladesh's first World Cup century as his side completed a six-wicket win over Scotland in their Pool A clash at Saxton Oval in Nelson on Thursday.
- The World Cup, as never before on Rediff.com
- VOTE: Who will win the 2015 World Cup?
Iqbal scored 95, while Mohammad Mahmudullah (62) and wicketkeeper Mushfiqur Rahim (60) also contributed as Bangladesh achieved 322-4, their highest successful run chase in one-day internationals.
Shakib Al Hasan (52 not out) and Sabbir Rahman (42 not out) guided Mashrafe Mortaza's side home with 11 balls to spare to cap off the perfectly timed run chase.
The victory put all the pressure on England for their showdown with Eoin Morgan's side on March 9 in Adelaide, with Bangladesh now on five points and level with third-placed Australia, while England have two.
Both have just two games remaining to play.
Scotland had been well placed to achieve their first World Cup victory, days after throwing away the opportunity against Afghanistan, after Kyle Coetzer had scored a career-best 156 in his side's 318 for eight.
The 30-year-old's innings was the first World Cup century by a Scotland batsman and also the highest score by someone from an associate nation at the global showpiece.
It also ensured his team posted their highest score against a Test nation.
Coetzer, who was named man-of-the-match, shared in a 141-run partnership with captain Preston Mommsen (39) and 78 runs with Matt Machan (35) to anchor the innings.
Scotland enjoyed their third 300-plus score in one-day internationals, having also achieved the mark against Ireland in 2011 and Canada in 2014.
After Coetzer was dismissed in the 45th over with Scotland 269 for five, Richie Berrington (26) and Matt Cross (20) combined for a quickfire 39 runs that saw their side past 300.
Bangladesh's run chase was hampered before they even took the field with Anamul Haque ruled out after he dived to prevent a boundary in the 31st over and appeared to dislocate his right shoulder.
He was immediately treated by medical staff but did not re-appear on the field during the remainder of Scotland's innings and was sent to hospital for scans.
Television showed him in a sling with an ice bag strapped to his shoulder.
He was not needed as his team mates never looked in desperate trouble against Scotland's attack despite some nervous moments after Mushfiqur holed out to Calum MacLeod at long-on with 72 runs still needed for victory.
Shakib and Rahman however calmly ticked off the runs with the occasional big shot mixed with singles to achieve the win.