After McCullum’s 51 in 19 balls had provided his side a comfortable target well under four an over as they chased 219, Corey Anderson stepped up with 81 to ensure the job was done.
When Anderson was dismissed New Zealand required a further 10 runs which they achieved with seven overs remaining.
“I thought Corey under pressure really stepped up nicely and got the job done,” New Zealand skipper McCullum said, adding Anderson’s catch to remove Sri Lankan centurion Mahela Jayawardene was also crucial.
“That dismissal of Mahela when he was looking to pull the trigger at that stage, to get him with a very good outfield catch from Corey allowed us to get some momentum.”
Sri Lanka captain Angelo Mathews believed the target they set New Zealand was 30-40 runs short of what was required.
“It wasn’t the easiest wicket to bat on. It was a little bit two-paced. It wasn’t coming on to the bat really well so we had to work really hard,” he said.
“The batters had to hang in there and try and rotate the strike but we kept losing wickets.”
Sri Lanka, electing to bat first, posted 218-9 on the back of Jayawardene’s 104 in 107 balls.
It was the 18th ODI century for the 37-year-old, the fifth highest run-scorer in the history of the shortened game, who was rarely in trouble by the New Zealand attack until caught in a wicket meltdown late in the late innings.
Although Jayawardene received little support in the middle, Sri Lanka had reason to believe their modest target was defendable when they removed Martin Guptill on the third ball of New Zealand’s reply.
But for McCullum that was a signal to open up as he blazed away to bring up his 50 in just 19 deliveries with six fours and three sixes.
It was the seventh fastest half century of all time, and only two behind the record held by Sri Lankan Sanath Jayasuriya, who took 17 balls to reach 50 against Pakistan in 1996.
McCullum had no sooner reached his 50 than his rollicking innings was over, beaten in the air by Sachithra Senanayake and stumped by Kumar Sangakkara to trigger a mini New Zealand collapse.
Three wickets fell for 13 runs in 27 balls as Kane Williamson (15) and Grant Elliot (one) followed McCullum back to the pavilion.
Williamson was snared by a remarkable catch at first slip by a diving Jayawardene who juggled the ball twice in his left hand before securing the wicket.
Tom Latham was stumped on 15 and New Zealand were 101-5 before Anderson and Ronchi put the innings back on course with 48 for the sixth wicket, and Anderson with Nathan McCullum then added 60 in their seventh wicket stand.
Tillakaratne Dilshan, who had Anderson leg before wicket, finished with two for 28 while Senanayake and Nuwan Kulasekara both took two for 43.
Apart from Jayawardene there was little resistance in the Sri Lankan innings with Lahiru Thirimanne and Jeevan Mendis, both 23, the only other players to get past 20.
Mitchell McClenaghan, who dismissed Jayawardene in a spell of three wickets in four balls late in Sri Lanka’s innings, finished with four for 36.
The second game in the seven-match series is in Hamilton next Thursday. (AFP)