Kenya pulled off the shock of the tournament with a remarkable 53 run victory against the Sri Lankans at Nairobi on Monday.
Sri Lanka, firm favourites after three straight victories, were bundled out for 157 in 45 overs chasing the 210 for nine scored by Kenya early in the day.
Cheered on by a capacity partisan home crowd, the Kenya bowlers and fielders produced an electric display in the field, bowling tightly and fielding brilliantly.
Leg-spinner Collins Obuya was adjudged man of the match for a superb spell of bowling, running through the Sri Lankan middle order to claim five wickets for 24 from ten overs, the best ever figures by a Kenyan.
Only Aravinda de Silva, who scored 41 from 53 deliveries, provided any resistance on a slow pitch.
Earlier, Kennedy Otieno smashed an entertaining 60 from 88 balls, hitting eight fours and two sixes as Kenya cobbled together their moderate total.
It was Kenya's first win against Sri Lanka, their tenth ODI victory, and their greatest day since they defeated West Indies at Poona in the 1996 World Cup.
The win leaves Kenya, who picked up four points after New Zealand forfeited their game for security reasons, with a good chance of qualifying for the Super Sixes.
They now move into second position in the table with two matches to play, one of which will be against the out-of-sorts Bangladeshis.
Sri Lanka's World Cup campaign may not lie in tatters but they now face a fight to qualify for the second round with difficult matches to be played against West Indies and South Africa.
Jayasuriya (3) failed for the second consecutive innings after chipping a catch to wide mid on.
Marvan Atapattu (23) started the innings in glorious fashion with a brace of boundaries but eventually came unstuck as he played onto his stumps to gift Thomas Odoyo his 50th ODI wicket.
Hashan Tillakaratne (23), dropped in the gully when he had made eight, looked to have settled during a 32 run partnership with veteran Aravinda de Silva before hoisting a catch into the deep off Obuya.
De Silva counterattacked in characteristically positive fashion, pulling a six high over square leg.
Mahela Jayawardene (5), desperately looking for form before key matches against West Indies and South Africa, could have been run out early on were it not for a fumble in the covers.
But the rusty looking right-hander did not make Kenya pay for a rare fielding slip, poking a catch straight back to Obuya off a leading edge as he tried to flick a full toss through the leg-side.
Kumar Sangakkara (5) was then athletically caught by a tumbling Otieno behind the stumps and when De Silva was caught behind whilst trying to force Obuya through the off-side Sri Lanka were in dire straits on 112 for six.
Russel Arnold (25*), the last remaining specialist batsman, struggled to hold the innings together but he was unable to claim back the initiative as wickets continued to fall.
Vaas (4) was caught and bowled and then Prabath Nissanka (2) and Muttiah Muralitharan (10) were well-caught on the boundary edge of the skipper Steve Tikolo.
When Dilhara Fernando missed a reverse sweep and was bowled the Kenyan's victory was complete and the wild celebrations commenced.
Earlier in the day, Sri Lanka had elected to field first against the Kenyans, a surprise decision on an excellent batting surface that promised plenty of runs.
The move looked to have been justified when Chaminda Vaas grabbed a second ball wicket, trapping Ravindu Shah lbw with a curving inswinger.
But Otieno reacted aggressively to the early loss, swinging Vaas for two towering sixes and a flurry of boundaries, dashing Sri Lankan hopes of another early finish.
Nevertheless Sri Lanka made inroads: Brijal Patel (12) edged an off-cutter behind and Muralitharan trapped star batsman Steve Tikolo (10) lbw with a sharply turning off-break.
When Otieno was snared in the deep the innings then lost momentum with Hitesh Modi and former captain Maurice Odumbe struggling against the Sri Lankan spinners, adding 40 runs in 10 overs.
The left-handed Modi, dropped at fine leg on nine and missed again by wicket-keeper Kumar Sangakkara behind the stumps on 11, scored 26 from 56 deliveries before being bowled as he tried to reverse sweep Muralitharan.
Thomas Odoyo (6) was then caught behind off Vaas after the left-armer was pulled back into the attack for his second spell of the day.
Vaas, the tournament's leading wicket-taker, finished with three for 41 from his ten overs.
Odumbe (26) was brilliantly caught by Russel Arnold at mid-wicket and Tony Suji was bowled by Muralitharan to leave Kenya in trouble on 178 for 8.
However, Peter Ongondo then finished the innings with a flourish scoring 20 from 18 balls and adding 32 in 4.1 overs with Collins Obuya (11*).
It appeared that Sri Lanka would stroll to victory but no one had anticipated such and electric display from the Kenyans in the field.