READ MORE: Cricket World Cup prize money: How much winners and losers will earn in India
Bangladesh pacer Mustafizur Rahman reduced New Zealand to 26-2 after the visitors opted to bat first. He removed Will Young, who made 58 in the first match, for a duck and then claimed the wicket of Finn Allen for 12.
Debutant Syed Khaled Ahmed (3-60), got into the act with the wicket of Chad Bowes for 14, as New Zealand slumped to 36-3 in the eighth over.
Nicholls and Blundell got the side back on track, playing with caution and aggression. However, Khaled broke the dangerous partnership as Nicholls edged behind after hitting six fours.
Blundell then unleashed his attacking batting to keep the scoreboard ticking as he brought up his fifty off 54 balls, driving left-arm spinner Nasum Ahmed’s flighted delivery to long-on for a single. But Hasan Mahmud gave Bangladesh a boost when he uprooted Blundell’s stump with a yorker.
The Bangladesh spinners then took the charge and claimed some quick wickets before Sodhi propelled the side past 250-run. He hit three sixes in his knock before being the last batter out.
Pacer Kyle Jamieson removed Liton for 6 after the batter was reprieved by DRS in the first over of the chase. But Tamim Iqbal, who returned to the side after recovering from back pain, kept the side on track but bringing up boundaries at a regular interval.
With Tanzid Hasan also finding the boundaries with ease, Bangladesh appeared to be the clear favourite. But Sodhi sparked the collapse as Bangladesh was reduced to 92-5 from 60-1 in just eight overs.
He started with the wicket of Tanzid (16) and then took the crucial wicket of Tamim, who was out for 44 when trying to sweep against a googly. Sodhi also removed Soumya Sarkar, who played his first match in two years, for a duck and got the better of Towhid Hridoy for 4.
Mahmudullah and Mahedi Hasan resisted, sharing a 42-run stand before Sodhi knocked out the latter for his maiden five-for. Offspinner Cole McConchie had Mahmudullah caught by Finn Allen at short fine leg after he made a team-best 49.
Nasum Ahmed scored 21 but that only reduced the margin of the defeat.
The third and final ODI is on Tuesday.