New Zealand start cautiously
After being put in to bat by Pakistan skipper Shahid Afridi, the New Zealand openers were off to a cautious start.
Jesse Ryder hit the boundary board in the first over itself, pulling a short delivery from Mohammad Aamer towards the square leg boundary.
McCullum at the other end hit a boundary off pacer Mohammad Sami, as Pakistan's bowlers came up with a much better fielding and bowling display.
McCullum took a liking to Sami and creamed consecutive boundaries off Sami's second over, as the Kiwis stepped on the accelerator.
However, Sami provided the first breakthrough for Pakistan when he had Ryder caught at deep square leg by Abdur Rehman for seven.
Image: Brendon McCullum
Pakistan keep it tight
Afridi introduced his slower bowlers and they stifled the Kiwis, not letting them score boundaries. Martin Guptil, who came in at the fall of Ryder, couldn't get spinner Abdur Rehman off the square.
His scratchy innings finally ended when he skied a catch towards long-on, where he was brilliantly taken by Umar Akmal for just two off 10 balls.
Rehman then picked up the dangerous McCullum in his next over, when the New Zealand wicket-keeper top-edged one straight down square-leg's throat for 33 off 29 balls.
Sami then, in his second spell, dismissed the dangerous Ross Taylor, who edged one to Kamran Akmal.
New Zealand were reeling at 58 for four in 9.2 overs.
Image: Abdur Rehman celebrates with teammates after picking a wicket
Styris-Vettori revive innings
With wickets tumbling quickly, skipper Daniel Vettori and Scott Styris played sensibly and took their time in the middle.
Vettori took on the attack, hitting Mohammad Hafeez for a boundary and then smashed Afridi for a maximum.
Styris then smashed Afridi for a boundary and a six. The bowler however had the last laugh, when Afridi cleaned up Styris for a well-made 21 off 17 balls.
Gareth Hopkins failed once again as he could only manage two runs.
Vettori waged a lone battle and was finally run out for a fighting 38 off 34 balls. Nathan McCullum hit a six off the final ball of the innings as New Zealand finished with 133 for seven in 20 overs.
Image: Daniel Vettori plays a sweep shot
Kiwis strike early
Chasing a modest 134 for a win, Pakistan lost the in-form Kamran Akmal in the second over itself. Kyle Mills, who was picked for the match, cleaned up Kamran with a brilliant slower delivery.
Mohammad Hafeez came in and hit couple of boundaries off Shane Bond before he edged one to Hopkins for eight.
Umar Akmal registered a first ball duck, bounced out by Mills. Pakistan were reduced to 25 for three in 3.2 overs.
Image: Kyle Mills celebrates after picking Kamran Akmal
Butt holds fort for Pakistan
With wickets falling regularly, Butt held the fort at one end and kept the run flow going. Pakistan lost the experienced Misbah-ul Haq, who was caught in front of the stumps after painful three runs off 13 balls.
'Boom Boom' Afridi came in and was out quickly as well, caught brilliantly at midwicket by Nathan McCullum for 11 runs.
Butt soon completed a well-deserved half century when he played the ball towards long-on.
Image: Salman Butt
Butler bowls a brilliant last over
New Zealand were looking good to win the game comfortably, but Abdul Razzaq had other ideas. He along with Butt put on a partnership that brought Pakistan from the dead to a position from where they could win the match.
Razzaq launched his attack on Vettori to keep the defending champions in the hunt. He hit two massive sixes and a boundary, scoring 16 runs off the left-armer to revive Pakistan's hopes. Razzaq then hit Bond for maximum, after the pacer had bowled four dot balls.
However, Nathan McCullum dismissed Razzaq for a run-a-ball 29 to turn the tide in New Zealand's favour.
Requiring 11 runs from the last over, Butler kept his cool and bowled two dot balls and took a wicket off the last ball to emerge hero for the Black Caps.
Butt remained unbeaten on 67.
Image: Ian Butler celebrates after New Zealand won the match