New Zealand were restricted to 142 for seven after being asked to bat first and Sri Lanka knocked the runs off with 13 balls to spare scoring 143-2.
The first T20 on Tuesday was abandoned due to rain.
Dilshan and Perera led Sri Lanka's run chase with a second wicket stand of 96 off 71 balls after they had lost Mahela Jayawardene lbw for three in the second over.
Perera who got off the mark with a straight driven six off Mitchell McClenaghan raced to 57 off 37 balls.
He made New Zealand pay dearly for failing to catch him at six and 39 by hitting two sixes and six fours before miscuing a drive to give Rob Nicol a return catch.
Dilshan continued his good form against New Zealand by completing his fourth consecutive half-century. He was unbeaten on 59 which included eight fours.
Kumar Sangakkara was 20 not out when Sri Lanka achieved victory.
New Zealand had been kept pinned down by penetrative bowling from the Sri Lankan bowlers who made early inroads into their batting.
Nuwan Kulasekara made the initial breakthrough by having Hamish Rutherford caught behind by Sangakkara for three in the second over.
New Zealand lost half their side for 93 by the 15th over before Luke Ronchi (34 not out) and Nathan McCullum (26) put together a partnership of 45 off 29 balls to get them to a respectable total.
Ramith Rambukwella, the son of media minister Keheliya Rambukwella was the pick of the Sri Lanka bowlers taking one wicket for 19 runs off four overs with his off-breaks.