New Zealand 219 for 7 (Anderson 81, McCullum 51, Dilshan 2-28) beat Sri Lanka 218 for 9 (Jayawardene 104, McClenaghan 4-36) by three wickets
Scorecard and ball-by-ball details

Sri Lanka discovered that at Hagley Oval what goes for New Zealand's Test team goes for their ODI outfit as well: the hosts' seamers are deadly dangerous in the early overs, and while the New Zealand top order is daunting, their lower-middle order can turn matches on their own too.

Brendon McCullum's fast bowlers made Sri Lanka regret choosing to bat on a pitch sporting grass, reducing the visitors to 82 for 4 in the 23rd over. Mahela Jayawardene held the bones of a lethargic batting effort together with his masterful 104 off 107 balls, but a total of 218 always seemed at least 30 runs too light.

Then, although Sri Lanka had New Zealand by the collar when the chase slipped to 101 for 5, Corey Anderson showed he had composure to go with his cow-corner clubs. He composed a steady 81 off 96 balls, enlisting the help of Luke Ronchi and Nathan McCullum to take his side to within 10 runs of victory. Anderson's dismissal made for some late jitters, but the hosts got home with seven overs and three wickets unused to take a 1-0 lead in the series.

While New Zealand lost four top-order wickets for 38 runs, at no stage were they under pressure to score quickly - partly because Sri Lanka had made so few, but also thanks to McCullum's 22-ball 51 to kick off the chase. He smote three sixes and six fours in his in all, targeting the square boundaries in particular.

McCullum was also fond of launching the offspin of Sachithra Senanayaka down the ground and equalled his and Ross Taylor's record for fastest New Zealand fifty, when he deposited Senanayake high over long-on off the 19th ball he faced.

McCullum, though, fell on his sword in the same over as Senanayake continued to flight the ball, made it dip and turn sharply to have the New Zealand captain stumped. Tom Latham and Kane Williamson were undone by spin too, and Grant Elliott was bowled by a Nuwan Kulasekara indipper, but Anderson worked his way steadily into the innings.

Playing out plenty of dot balls before attempting to even begin collecting the singles, he slammed Kulasekara through cover to collect his first boundary off his 17th ball. He remained choosy with the expansive strokes and the heave across the line that sent Thisara Perera to the boundary, or the mighty pull off Shaminda Eranga that deposited the ball into the crowd were in contrast to the risk-free innings Anderson strove to play.

Anderson added 48 runs for the sixth wicket with Ronchi and an additional 60 more with Nathan McCullum. Neither of his sidekicks looked comfortable at the crease, but they did enough to support a largely-secure Anderson. Nathan McCullum remained unbeaten on 25, hitting the winning run with Adam Milne at the other end.

It was fitting that Milne was at the crease to see the match won, because it had been he who cut the Sri Lanka top order open in the morning. He bent the ball in to strike Dimuth Karunaratne's front pad in the fourth over, then dismissed Kumar Sangakkara in the eighth, as his full, seaming delivery collected the outside edge and flew to point. Milne occasionally pipped 150kph on the speed gun, but it was the movement he gleaned off the seam that made him threatening.

Those early gains were not squandered by New Zealand, who were rarely loose with the ball, and kept attacking fields to every batsman throughout the game. Mitchell McClenaghan began a little waywardly, but was quickly hitting the back-of-a-length that Sri Lanka's batsmen found difficult to score off, and he and Nathan McCullum controlled the run rate through the middle overs.

McClenaghan was rewarded for his economy in the 47th over, when he claimed three wickets in four balls. Jeevan Mendis and Jaywardene were both out trying to lift short deliveries over the leg side, and Thisara Perera was snaffled at slip for a golden duck. McClenaghan finished with 4 for 36 from his 10 overs, while Milne claimed 2 for 37.

Jayawardene overcame early-innings inertia with an upper cut over the slips, followed by a breezy drive through the covers off successive McClenaghan deliveries, but then settled into a rhythm of singles and twos into the outfield, while wickets continued to fall at the other end. He didn't hit a boundary between the 19th and 32nd over, but rarely did his strike rate dip below 85. The fours resumed with a ramp over the keeper that took him past fifty, and Jayawardene began to look for the boundary more often as the death overs approached.

Lahiru Thirimanne had been a firm ally, after Angelo Mathews had been run out, but did little for the run rate during his 50-ball 23. Jayawardene, meanwhile, was lofting the quicks over cover and mid-off, as McCullum kept the field in, and it was only his positivity that prevented New Zealand from crowding the bat even further. He completed his 18th ODI ton in the 46th over, but was out shortly after, effectively sinking Sri Lanka's hopes of eclipsing 240.

Andrew Fidel Fernando is ESPNcricinfo's Sri Lanka correspondent. @andrewffernando