Unbeaten centurions Grant Elliott and Luke Ronchi shared a record sixth-wicket stand of 267 as New Zealand hammered Sri Lanka by 108 runs to move 3-1 ahead in the seven-match one-day international series.
Coming together at 98 for five in the 20th over, Elliott smashed a 96-ball 104 and Ronchi blasted 170 off just 99 deliveries to lift the Black Caps to 360 for five at the University Oval in Dunedin.
While Elliott started slightly more reserved, Ronchi required just 74 balls to complete his maiden ODI ton before slamming 70 off his next 25, his spectacular innings including 14 fours and nine sixes in total.
Tillakaratne Dilshan's 20th ODI century was not enough for Sri Lanka, who were dismissed for 252 in the 44th over, Trent Boult taking 4-44.
Sri Lanka, having won the toss, looked in a strong position after Nuwan Kulasekara and Lahiru Thirimanne, standing in as skipper for the injured Angelo Mathews, took two wickets each.
Kulasekara had Martin Guptill caught behind with the first ball of the match and then trapped Brendon McCullum lbw for 25.
After Thisara Perera removed in-form Kane Williamson for 26, Thirimanne accounted for Ross Taylor and Corey Anderson in successive individual overs.
But Sri Lanka would not have expected what was to come from Elliott and Ronchi, the latter punishing anything full and on the leg side.
Elliott and Ronchi, dropped on 47 and 167 respectively, took 122 off the final 10 overs as the tourists' attack was clubbed to all parts, Suranga Lakmal conceding 93 from his full allocation.
Dilshan shared stands of 93, 48 and 70 with Thirimanne, Kumar Sangakkara and Mahela Jayawardene respectively, but his departure for a 106-ball 116 in the 37th over ended Sri Lanka's hopes of levelling the rubber.
Elliott also starred with the ball, picking up the scalps of Thirimanne, who made 45, and Sangakkara en route to impressive figures of 2-44.
Jayawardene's dismissal, bowled by Boult for 30, signalled the start of his side losing their last eight wickets, including Dilshan three balls later, for just 41 runs in eight overs.
Boult ripped out the middle order while Mitchell McClenaghan and Tim Southee both matched Elliott by claiming two victims apiece.