Sri Lanka were seven without loss in their second innings, chasing a near-impossible 302 in a session for victory, when play was abandoned after tea because of bad light.
New Zealand had earlier been bowled out for 238 in their second innings at tea after resuming on 64 for two.
There were a few nervous moments when Lasith Malinga completed his first five-wicket haul in Test cricket, ripping through the middle order to reduce New Zealand to 148 for seven at lunch.
But Lou Vincent and Kiwi skipper Stephen Fleming steadied the innings with a stubborn eighth-wicket partnership that killed off any real chance of a result.
Vincent top-scored with 52 while Fleming made 41 after initially retiring hurt on six with a hand injury. He returned at the fall of the seventh wicket and held the innings together before being the last man out.
Malinga, whose unorthodox round-arm action troubled
Sanath Jayasuriya dismissed opener James Marshall for 39, also lbw, then got lucky to run out first-innings centurion Nathan Astle at the non-striker's end.
The former skipper got a fingertip to a straight drive from Vincent that crashed into the stumps, catching Astle out of his ground.
Jayasuriya captured a second wicket when Brendon McCullum edged to slip for seven, then Malinga bowled James Franklin with a yorker on the last ball before lunch.
Vincent and Fleming, however, steadied the innings with their eight-wicket partnership yielding just 33 runs but eating up valuable time.
Vincent was eventually bowled by Upul Chandana while Fleming was caught in the deep when the result was all but decided, gifting man-of-the-match Malinga his fifth wicket and his ninth for the match.
The chances of a result were already remote heading into the last day, on a flat pitch ideal for batting. New Zealand had piled on 561 in their first innings on the back of centuries by Hamish Marshall and Astle while Sri Lanka replied with 498.
Mahela Jayawardene top scored with 141 while captain Marvan Atapattu made 127.