The 1996 champions are now equal with New Zealand and holders Australia, who have a game in hand, on eight points.
Australia, the only unbeaten team left in the tournament, top the second-round table on run rate ahead of Sri Lanka and New Zealand, whose nine-match one-day unbeaten run came to an abrupt halt.
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 had played one of the leading contenders in this World Cup for the first time.
Sri Lanka return here on Monday to face the might of Australia.
Sri Lanka, who took the field without their injured strike bowler Lasith Malinga, restricted New Zealand to 219 for seven despite a battling, unbeaten 111 by Scott Styris. Sri Lanka reached their modest target with 29 balls to spare.
Man-of-the-Match Chaminda Vaas dismissed captain Stephen Fleming and Ross Taylor for ducks and Muttiah Muralitharan took three for 32 to move equal top on the wicket-takers' table with 15 alongside Malinga and Australia's Glenn McGrath.
Sanath Jayasuriya (64) and Kumar Sangakkara (69 not out) shared a second-wicket partnership of 100, stroking the ball comfortably around the field with wristy cuts, pushes and drives.
Left-arm spinner Daniel Vettori took two for 35 to become the third New Zealander to capture 200 One-day International wickets.
The Sri Lankans got away to a flying start helped by three dropped catches.
Fleming floored Upul Tharanga on eight and Craig McMillan spilled Jayasuriya on 30. McMillan, at mid-on, got his fingertips only to a chance from Sangakkara when the Sri Lankan wicket-keeper had made nine.
Tharanga made only three more runs before he was caught on the third-man boundary by Shane Bond off James Franklin.
Jayasuriya greeted Mark Gillespie's first ball of the tournament by hooking it for six and the second for four. The over cost 17 runs.
He brought up his 63rd One-day International half-century from 65 balls with three fours and a six, falling finally when he was caught behind off Oram by Brendon McCullum standing up to the stumps.
Sangakkara completed his 39th one-day century from 56 balls with one boundary and ended the match with a four off Gillespie.
Scoreboard
NEW ZEALAND:
P.G. Fulton c Silva b Vaas 28
S.P. Fleming lbw b Vaas 0
R.L. Taylor c Sangakkara b Vaas 0
S.B. Styris not out 111
C.D. McMillan c Silva b Muralitharan 1
J.D.P. Oram c Maharoof b Dilshan 31
B.B. McCullum lbw b Muralitharan 1
D.L. Vettori c Silva b Muralitharan 5
J.E.C. Franklin not out 25
EXTRAS (B-2, LB-2, W-8, NB-5) 17
TOTAL (for seven wkts, 50 overs) 219
FALL OF WKTS: 1-1 (Fleming, 0.5 ov), 2-4 (Taylor, 2.1 ov), 3-71 (Fulton, 19.5 ov), 4-77 (McMillan, 22.2 ov), 5-141 (Oram, 37.3 ov), 6-145 (McCullum, 38.2 ov), 7-155 (Vettori, 40.5 ov).
DID NOT BAT: S.E. Bond, M.R. Gillespie.
BOWLING: Vaas 9-2-33-3 (1w); Fernando 7-2-31-0 (3nb, 1w); Maharoof 6-0-31-0 (1nb); Muralitharan 10-0-32-3 (1nb, 2w); Jayasuriya 10-0-44-0; Dilshan 8-1-44-1.
SRI LANKA:
W.U. Tharanga c Bond b Franklin 11
S.T. Jayasuriya c McCullum b Oram 64
K.C. Sangakkara not out 69
D.P.M.D. Jayawardene c sub b Vettori 15
L.P.C. Silva c Bond b Vettori 23
T.M. Dilshan not out 14
EXTRAS (B-4, LB-7, W-7, NB-8) 26
TOTAL (for four wkts, 45.1 overs) 222
FALL OF WKTS: 1-30 (Tharanga, 4.4 ov), 2-130 (Jayasuriya, 25.3 ov), 3-152 (Jayawardene, 30.3 ov), 4-180 (Silva, 37.5 ov).
DID NOT BAT: R.P. Arnold, M.F. Maharoof, W.P.U.J.C Vaas, M. Muralitharan, C.R.D. Fernando.
BOWLING: Franklin 8-0-49-1 (1nb, 2w); Bond 8-0-26-0; Gillespie 6.1-1-42-0 (4nb); Vettori 10-0-35-2 (1nb, 1w); Styris 7-1-28-0; Oram 6-0-31-1 (2nb).
RESULT: Sri Lanka won by six wickets.
UMPIRES: Asad Rauf (Pakistan) and B.R. Doctrove (West Indies).
TV UMPIRE: Aleem Dar (Pakistan).
MATCH REFEREE: M.J. Procter (South Africa).
MAN-OF-THE-MATCH: Chaminda Vaas.—Agencies