Sri Lanka, set 220 to win, finished on 222 for four to move level on eight points with New Zealand and champions Australia, who have played four games to their title-rivals five.
Sanath Jayasuriya, who made 64, and Kumar Sangakkara, unbeaten on 69, shared a second wicket stand of exactly 100 in 21 overs that all but sealed victory for Sri Lanka after left-arm quick Vaas took three for 33.
Thursday's defeat, with 39 balls to spare, left New Zealand still needing one more win from their final two Super Eights games, both in Grenada, against South Africa on Saturday and Australia a week Friday, to be certain of a semi-final spot.
And the loss also saw them fall one short of equalling their 2004 record of 10 straight one-day international wins after they'd played one of the leading contenders in this World Cup for the first time.
Sri Lanka return here Monday to face Australia.
buy augmentin online buy augmentin online no prescription
Vaas, 33, dismissed both New Zealand captain Stephen Fleming and Ross Taylor for nought before all-roun