Tillakaratne Dilshan scored a century to lead Sri Lanka to a six-wicket victory over New Zealand in the second game of the seven-match series in Hamilton.
The right-handed batsman racked up 116 runs from 127 balls to claim his 19th one-day international hundred, levelling up the series at 1-1.
Visiting skipper Angelo Matthews ended on 39 not out, while Lahiru Thirimanne added two more as Sri Lanka looked to close down New Zealand's tally of 248 in 47.4 overs at Seddon Park.
Dimuth Karunaratne (21) opened things up alongside Dilshan in a 64-run stand, while the latter also linked up with Kumar Sangakkara (38) to add a further 52 runs to the tally.
Dilshan continued at the crease alongside Mahela Jayawardene (27), building on that with a further 74 with Matthews, before a wonderful cover drive for his 13th boundary brought about an impressive century.
Wicketkeeper Luke Ronchi finally caught Dilshan off Matt Henry's ball to end his spell, but the damage had already been done as far as New Zealand were concerned.
Black Caps captain Brendon McCullum (117) managed to blast 12 boundaries and five sixes on his way to a century of his own, yet Sri Lanka's 252-4 proved enough for the hosts in the end.
The third match of the series takes place at Eden Park in Auckland on Saturday.