New Zealand 139 for 8 (Ryder 42, Murali 2-25) beat Sri Lanka 135 for 6 (Jayawardene 81) by two wickets
Scorecard and ball-by-ball details
How they were out
New Zealand edged Sri Lanka in just the sort of cliffhanger the organisers would have wanted to kick off the World Twenty20 in the Caribbean. If McCullum is talked of as a match-winner, it is probably Brendon that one thinks of, but it was his brother Nathan who was the hero with an all-round performance, topped off by a six over long-off to seal a tense victory with one delivery to go.
On a track that lived up to it's pre-match billing of being sluggish, basic line-and-length bowling from New Zealand's slow bowlers was enough to curtail Sri Lanka to 135, despite Mahela Jayawardene's polished 81, his highest score in Twenty20s.
The balance swung from one side to the other through the chase: New Zealand looked in control after Jesse Ryder's power-hitting at the top, but tight spells from the two oldest players in the tournament, Sanath Jayasuriya and Muttiah Muralitharan, seemingly shut New Zealand out of the game.
When Ajantha Mendis nipped out Scott Styris in the 17th over, the asking rate was over 10 and half the New Zealand side was dismissed. Jacob Oram, though, kept the game alive with two consecutive hits over long-on for six to round off the over. Lasith Malinga sent down an over of patented hard-to-hit full deliveries in the 18th, and two wickets - of Oram and Gareth Hopkins - fell in the first two deliveries of the penultimate over to again put Sri Lanka in charge.
With 18 needed off nine, Daniel Vettori shuffled across and swung Chanaka Welegedara for four in front of deep square leg, and McCullum mishit a low full toss over mid-on to scramble three off the final delivery.
Ten off the final over, from Malinga, was still a tough ask. The first delivery was squeezed to mid-on for a single and they comically stole a bye after Vettori missed a full delivery - with McCullum charging down the track, both batsmen were at the keeper's end, Sangakkara lobbed the ball to Malinga who missed the stumps from a few yards even though he could have walked and taken the bails off.
McCullum then swiped a full delivery to long leg for four to reduce it to 4 off 3, making New Zealand fans believe again. A hard drive to long-on resulted in Vettori's run-out as he attempted a non-existent second, but McCullum's glorious hit over long-off for six off the penultimate delivery confirmed New Zealand's victory.
Such a close finish didn't look likely at the halfway stage after Ryder and Martin Guptill piled on 62 in eight mostly trouble-free overs. Ryder feasted on some leg-side gifts, and also threw in some muscular hits over midwicket to race to 42 off 25 before being bowled by a quicker one from Murali.
Jayasuriya didn't get to bat, but showed his value with the ball, knocking out Guptill's middle stump with a quick yorker, before Murali got rid of danger-man Ross Taylor in the 15th over. Only sixteen runs came in the six overs after Ryder's dismissal, to propel the required-rate and ask for some late heroics.
McCullum had been superb at the start of the match as well, when handed the new ball, stifling the most explosive batsman of the previous World Twenty20, Tillakaratne Dilshan.
The big guns at the top of Sri Lanka's batting order carried on their form from the IPL: Dilshan and Kumar Sangakkara, who had forgettable campaigns in India, scratched around looking uncomfortable, while Jayawardene, who was close to his best towards the end of the tournament, was rarely troubled in his first outing as an international Twenty20 opener.
Jayawardene made virtually all of Sri Lanka's runs during the early stages of their innings. He started off with a powerful swat over square leg for six off Shane Bond, then finessed McCullum through covers for four. On a pitch where pace was a disadvantage, Bond was expensive: Jayawardene taking him for two fours in the fourth over.
The best phase of Sri Lanka's innings was a fluent 59-run partnership between debutant Dinesh Chandimal and Jayawardene. The pair began cautiously, with an over of singles off Vettori, before Chandimal boosted the innings with a big six over long-on off Styris in the 11th over - the first boundary for 35 deliveries. Jayawardene then took charge again, picking off the bad deliveries on offer to hit a boundary an over. A stunning parried, overhead catch from Taylor ended Chandimal's stay, and series of yorkers from Tim Southee kept the runs down, before a raft of outfield catches restricted Sri Lanka to what still proved a competitive total.
Sri Lanka now need to win on Monday against Zimbabwe, who have surprised Australia and Pakistan in the warm-ups, if they are to avoid early elimination.