Sri Lanka have recorded the highest chase in Champions Trophy history to beat India by seven wickets and keep alive their hopes of qualifying for the semi-finals.
Shikhar Dhawan's 10th ODI century and half-centuries from Rohit Sharma (78) and MS Dhoni (63) had taken India up to 321-6, with the win seemingly in the bag.
No team had ever chased that many at The Oval to win an ODI, but Danushka Gunathilaka (76) and Kusal Mendis (89) shared a stand of 159 before both were run out.
Kusal Perera's 47 off 44 balls then put Sri Lanka on top until he retired injured, but Angelo Mathews (52 not out) and Asela Gunaratne (34 not out) saw their side home with eight balls to spare.
The win is Sri Lanka's joint-highest successful run chase in one-day internationals, having also surpassed 322 to beat England at Headingley in 2006, and is also the first time that Sri Lanka have beaten India in England for 38 years.
Every side in Group B can still qualify for the semi-finals, with each team having taken one win and one defeat from their first two games.