Sri Lanka beat the defending Champions India by 7 wickets with a remarkable performance at the Oval to keep their chances of making the semi finals alive.

Chasing a daunting total of 321, Sri Lanka were able to get over the line, to record their joint highest run chase in ODI history. This was thanks in part to Kusal Mendis who top scored with a perfect 89, and he shared a crucial stand of 159 with Danushka Gunathilaka, who chipped in with a patient 76.

Returning Sri Lankan captain Angelo Mathews was on hand to see his team over the line with an outstanding 52 not out from just 45 balls. Elsewhere, Kusal Perera was forced to retire injured after making a handy contribution of 47 from only 44 balls.

Clive Rose/Getty Images Sport

The run chase was timed perfectly with only opener Niroshan Dickwella failing to cash in on a great wicket after being removed by Bhuvneshwar Kumar for just 7 in the 5th over.

That was to be the only wicket picked up by an Indian bowler as they toiled and were unable to unsettle the Sri Lankan rhythm. The other two wickets to fall in the innings were both run outs, but even that didn’t inspire a tepid Indian outfit as Sri Lanka won comfortably in the end with 8 balls left.

Having been put into bat India looked well set to reach the semi finals after posting 321-6 from their 50 overs, thanks in part to a superb 125 from Shikhar Dhawan.

Rohit Sharma (78) and MS Dohni (63) also making big contributions as Sri Lanka struggled with the ball with their front line attack going for expensive spells.

Clive Rose/Getty Images Sport

Lasith Malinga lead the line finishing up with 2-70 from his 10 overs, Suranga Lakmal 1-72, Nuwan Pradeep 1-73, Thisara Perera 1-54 and Asela Gunaratne 1-7 took the other wickets in the innings.

The result at the Oval mean that all teams have everything to play for in their final group games with each knowing a win will see them reach the semi finals, both games are now effectively quarter finals.