Sri Lanka failed to get any significant partnerships going in cool damp conditions, as wickets fell at regular intervals here on Tuesday in the third of the five match series.
Poor shot choices were behind the loss of many of the tourists' wickets as play was periodically interrupted by showers.
New Zealand's Michael Mason was a hero with the bat in the second One-dayer on Sunday by hitting the winning four runs off the last ball to level the series. On Tuesday, he shone with the ball, finishing with the best figures of 4-24 off nine overs in a tight spell.
Daniel Vettori proved as hard to score off as ever, ending with 2-7 off his 5.2 overs.
Wicketkeeper Brendon McCallum played brilliantly behind the stumps with three excellent catches and he helped James Marshall complete a deft run out.
The return of star pace bowler Shane Bond paid immediate dividends for New Zealand, with Sanath Jayasuriya falling victim to his second ball.
A perfectly pitched ball tempted the Sri Lankan forward and produced an edge to McCallum before the tourists had scored a run.
Mason claimed the second wicket when Atapattu (28) flicked a ball to Taylor at square leg. Mason and Taylor combined again in 12th over to get rid of the dangerous Kumar Sangakkara, dismissed cheaply for 15.
McCallum gave Mason his fourth with a brilliant dive down leg side to catch a botched pull shot by Upul Tharanga (11). Mason took an easy return catch from a mistimed drive by Silva (4) to take his fourth wicket and leave Sri Lanka staggering at 61-5.
Sri Lanka's running between the wickets also caused problems with both Jayawardene (1) and Dilshan (18) being caught short trying to take quick singles.
Dilshan was the victim of a brilliant piece of fielding as James Marshall dived to stop a ball in the covers. He quickly fired the ball back to McCallum who threw down the stumps as the batsman fell short trying to regain his ground.
A wild swipe by Maharoof (13) against Vettori produced an edge to give McCallum his third catch of the innings and reduce Sri Lanka to 99-8.
The visitors could only muster another 13 runs for their last two wickets as the innings ended with a whimper.