Lasith Malinga (4-43) sparked a phenomenal bowling performance from Sri Lanka as they defended 232-9 to beat England by 20 runs in Leeds.
Sri Lanka opted to bat first and it was a brave effort from them as they posted 232-9.
Their innings was built on three key performances from Avishka Fernando (49), Kusal Mendis (46) and Angelo Mathews (85 not out).
Considering the form of England so far in the tournament, a target of 233 was expected to simple to chase.
England bowled well to put their team in a strong position. Jofra Archer (3-52) and Mark Wood (3-40) too the bulk the wickets, while Adil Rashid took 2-45 to help his side clamp Sri Lanka.
Sri Lanka needed a solid start to keep the game competitive. Malinga provided the edge when he removed England openers James Vince and Jonny Bairstow.
What followed was an exquisite bowling performance from Sri Lanka who toppled the hosts for 212.
Malinga was phenomenal, he removed Joe Root for 57 in the 30th over followed by Jos Butler in the 33rd over for 10 which put Sri Lanka in the driving seat at 144-5.
Dhananjaya de Silva then put Sri Lanka in a stronger position, he dismissed Moeen Ali, Chris Woakes and Adil Rashid which throttled England at 178-8 after 40.5 overs.
Despite Ben Stokes carrying his bat to reach his half-century, his batting partners continued to fail as Archer lost his wicket for three, this put England down nine for 186 runs.
Stokes managed to keep England in the hunt with his unbeaten 82 off 89 balls which England to 212, but Mark Wood could not keep out Nuwan Pradeep.
This sealed a historic 20-run victory, extending Sri Lanka’s unbeaten record against England at World Cup’s dating back to 1999.
The win has kept Sri Lanka in the top four race to take them to fifth with six points.
England now sit third with eight points.
Photo: Cricket World Cup/Twitter