Glenn Phillips smashed 104 and left-arm seamer Trent Boult took four wickets as New Zealand crushed Sri Lanka by 65 runs on Saturday to put them on track to make the semi-finals at the T20 World Cup.
New Zealand batted first and posted 167-7 after a poor start. In reply, Sri Lanka were all out for 102 in the final over, with Boult taking a career-best 4-13.
The Black Caps had a horror start after opting to bat with their top order blown away, losing Finn Allen, Doug Conway and Kane Williamson for 15 runs.
They crawled to 54-3 after 10 overs before Phillips let loose, hitting 10 fours and four sixes in his 64-ball innings.
It was the second century of the tournament, after South African Rilee Rossouw's 109 against Bangladesh, and only the 11th in T20 World Cup history.
Sri Lanka began with the spin of Maheesh Theekshana after losing the toss, and it immediately paid dividends.
Opener Allen managed just three balls and one run, confounded by an inswinger in the opening over.
Doug Conway, who smashed an unbeaten 92 against Australia, fared little better. Spinner Dhananjaya de Silva joined the attack and Conway was bowled, also for one, deceived by the flight.
It left New Zealand on 11-2 after three overs and things got worse when skipper Williamson (8) got an outside edge off pace bowler Kasun Rajitha in the next over and was caught behind.
Phillips and Daryl Mitchell, returning to the side after fracturing his hand this month, moved the scoreboard to 54-3 at the halfway point, managing only five boundaries.
But Phillips then on the after-burners, reaching his seventh T20 fifty with sloppy fielding aiding him, dropped by Pathum Nissanka on 12 and again on 45 by skipper Dasun Shanaka.
An 84-run stand with Mitchell ended when his partner was bowled for 22 by Wanindu Hasaranga. Mitchell Santner was alongside him when he brought up only his second T20 ton in the 19th over.
In reply, New Zealand's pace attack got the ball rolling early. Sri Lanka were always going to struggle after Boult and Tim Southee had toppled their top order and once the third quick, Lockie Ferguson, had Bhanuka Rajapaksa caught at mid off for 34, the cause looked lost.
Skipper Shanaka stood his ground with a defiant 35 but had little help from the tailenders and holed out to give Boult his fourth wicket.
"Me and Daryll were really clear we wanted to be as positive as possible, and try and make the right positive choice," Phillips said after the game.
"On a pitch like that it was a little difficult to hit the slower ball, so it was just about getting through and trying to get to a competitive total."