Group B, Nairobi, Kenya 210-9 (50 overs) bt Sri Lanka 157 all out (44.5 overs) by 53 runs
Kenya have produced the shock of the World Cup with an overwhelming victory over Sri Lanka.
Collins Obuya starred for the co-hosts, finishing with figures of five for 24 runs - the best ever by a Kenyan in international cricket.
Earlier Kennedy Otieno impressed with the bat, hitting 60 runs to set the Sri Lankans 211 for victory, which they rarely looked like making.
The result was only Kenya's 10th ever one-day international victory and arguably their biggest since overcoming the West Indies almost seven years ago to the day in the 1996 World Cup.
It also leaves them with 12 points in Group B and in contention for a place in the Super Six stage.
We were confident of beating the Sri Lankans as we were playing our first match of the World cup
before our home fans
Kenya captain Steve Tikolo
Sri Lanka had gone into the match bidding to maintain their 100% record in this year's tournament, but Otieno got off to a stunning start with the bat, ripping through the bowling attack of Chaminda Vaas and Prabath Nissanka.
Vaas opened in stylish fashion, taking the wicket of Ravindu Shah with his second ball and adding Brijal Patel soon afterwards, before Otieno hit 10 boundaries in his fiery knock.
The introduction of Muttiah Muralitharan, however, saw the run rate drop dramatically.
Murali removed Kenyan captain Steve Tikolo, his first victim in a stunning spell of four for 28 runs.
He then dismissed Hitesh Modi, Maurice Odumbe and Tony Suji in his best-ever World Cup bowling display.
Vaas added his third wicket in his second spell before a late burst of 20 runs from Peter Ongondo took Kenya past the 200 mark.
In reply, Marvan Atapattu started in confident fashion with two boundaries off the first over.
But the usually reliable Sanath Jayasuriya began poorly, holing out to Patel off Martin Suji.
We were not playing like professionals, we were like
Sri Lanka captain Sanath Jayasuriya
Atapattu followed with the score at 39 for two, before Obuya began his breathtaking spell of leg-breaks.
Obuya was ably supported by some superb fielding to remove Hashan Tillakaratne, Mahela Jayawardene, Kumar Sangakkara, Vaas and Aravinda de Silva.
That reduced the Sri Lankans to 119 for seven, a position they never looked likely to recover from as the required run rate soared.
The demolition was eventually complete as Tikolo claimed two late wickets and Maurice Odumbe added another.
Kenya: KO Otieno, RD Shah, BJ Patel, SO Tikolo (capt), MO Odumbe, TM Odoyo, HS Modi, AO Suji, CO Obuya, MA Suji, PJ Ongondo.
Sri Lanka: MS Atapattu, ST Jayasuriya (capt), HP Tillakaratne, PA de Silva, DPMD Jayawardene, KC Sangakkara, RP Arnold, WPUJC Vaas, RAP Nissanka, M Muralitharan, CRD Fernando.