Bangladesh 268/5 (47.2 overs)
New Zealand 265/8 (50 overs)
Bangladesh emerged victorious over New Zealand in the 48th over, after the Black Caps won the toss and set a target of 266 against Bangladesh. In what was a do-or-die game for both teams' chances in the ICC Champions Trophy 2017, start of play was delayed to 4:30pm due to overnight rain, but no overs were lost.
Mahmudullah, 102 runs off 107 balls, and Mosaddek Hossain, seven runs off four balls, finished the innings unbeaten for Bangladesh. Mosaddek struck the winning runs.
Tamim Iqbal, who opened the batting with Soumya Sarkar, was dismissed lbw for a duck in the first ball of the Bangladesh innings, bowled by Tim Southee.
Southee then picked up his second in the third over, getting Sabbir Rahman out caught behind off the third ball after he had scored eight runs off nine balls.
Soumya, three runs off 13 balls, was then dismissed lbw in near identical fashion to Tamim, as Southee picked up a wicket for the third consecutive over in the fourth ball of the fifth.
Next, Mushfiqur Rahim was bowled out by Adam Milne in the fourth ball of the 12th over, after struggling to score 14 runs off 34 balls.
Shakib al Hasan was then bowled by Trent Boult in the third ball of the 47th over, after scoring 114 runs off 111 balls. Along the way, he and Mahmudullah broke the record for highest partnership for Bangladesh for any wicket, scoring 224 runs in tandem.
Earlier, Mitchell Santner, 14 runs off 18 balls, and Southee, 10 runs off 5 balls, finished the innings unbeaten for the Black Caps.
Luke Ronchi, 16 runs off 18 balls, was first to be dismissed. He was caught out off the bowling of Taskin Ahmed in the first ball of the eighth over.
Martin Guptill, who opened the batting with Ronchi, was next to get out. The opener had started quickly and scored 33 runs off 35 balls before being trapped lbw off the bowling of Rubel Hossain in the fifth ball of the 13th over. Ross Taylor took his place at the crease.
New Zealand captain Kane Williamson was then run out in the last ball of the 30th over, bowled by Shakib, after scoring a cool 57 runs off 69 balls.
Former skipper Ross Taylor scored 63 runs off 82 balls before becoming Taskin's second victim of the day, off the fourth ball of the 39th over. Mustafizur Rahman took the catch.
Neil Broom, 36 runs off 40 balls, and Corey Anderson, on a golden duck, were then dismissed in the first two balls of the 44th over, caught out and lbw respectively off the bowling of Mosaddek.
In his very next over, Mosaddek was at it again, beating Jimmy Neesham before Mushfiq stumped him out in the last ball of the 46th over. The batsman had scored 23 runs off 24 balls.
Mustafizur then bowled out Milne in the third ball of the 49th over for the last wicket of the innings, after he had scored seven runs off eight balls.
Bangladesh made two changes to the team that played in the previous match against Australia, with Imrul Kayes and Mehedi Hasan Miraz dropping to the bench in favour of pacer Taskin and batsman Mosaddek.
Meanwhile, New Zealand captain Williamson announced that the Black Caps would field an unchanged side from their match against England.
Heavy overnight rain delayed the scheduled 10:30am local time start of the key Group A Champions Trophy match.
Although the cover on the pitch had been removed, heavy overnight and early morning rain saw the umpires deem conditions unfit for a prompt start.
The match officials were due to hold a pitch inspection at 10:45am.
But victory in Cardiff may not be enough to get through to the knockout stage of a tournament featuring the world's top eight one-day international sides.
Regardless of whichever team win this match, Australia will advance with already-qualified England if they beat the tournament host at Birmingham's Edgbaston ground on Saturday.
Tamim Iqbal, Soumya Sarkar, Taskin Ahmed, Mushfiqur Rahim (WK), Shakib al Hasan, Sabbir Rahman, Mahmudullah, Mosaddek Hossain, Mashrafe bin Mortaza (C), Rubel Hossain and Mustafizur Rahman
Martin Guptill, Luke Ronchi (WK), Kane Williamson (C), Ross Taylor, Neil Broom, Jimmy Neesham, Corey Anderson, Mitchell Santner, Adam Milne, Tim Southee and Trent Boult