After India posted an impressive 321 with Shikhar Dhawan’s century, Sri Lanka’s Danushka Gunathilaka (76) and Kusal Mendis (89) shared a stand of 159 before both were run out. Sri Lanka executed a masterful run-chase to stun defenders India with a seven-wicket Champions Trophy win at The Oval and throw Group B wide open.
Kusal Perera’s 47 off 44 balls put Sri Lanka on top until he retired injured.
But Angelo Matthews (52 not out) and Asela Gunaratne (34 not out) saw their side home with eight balls to spare.
It is Sri Lanka’s joint-highest successful run chase in one-day internationals, having also surpassed 322 to beat England at Headingley in 2006.
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.
India face South Africa at The Oval on Sunday, and Sri Lanka take on Pakistan in Cardiff the following day.
Having posted more than 300 for the second straight game, India were firm favourites at the halfway point against an inexperienced Sri Lanka batting line-up who subsided to a 96-run defeat by South Africa in their opening game.
Opener Niroshan Dickwella did little to dispel that notion as his jittery innings was quickly ended for seven, top-edging Bhuvneshwar Kumar to Ravindra Jadeja to leave Sri Lanka on 11-1.
Having consolidated to reach 44-1 off 10 overs, Gunathilaka counter-attacked, slugging Hardik Pandya for six to bring up a 47-ball fifty before Mendis followed suit, targeting Jadeja to also bring up his half-century by clearing the ropes.
The chase threatened to stutter when Gunathilaka failed to make his ground attempting an ill-advised second run, before Kumar reacted superbly off his own bowling to throw down the stumps with a hesitant Mendis stranded.
Kusal Perera ensured Sri Lanka stayed up with the required run rate, bravely labouring on after pulling his hamstring before he was finally forced from the field at the end of the 43rd over, with 51 needed off 42 balls.
Captain Mathews, playing his first ODI since August 2016 following a recent calf strain, calmly took up the charge though and Gunaratne’s entertaining late cameo ensured Sri Lanka eased to an upset victory that perhaps reinvigorated the tournament after several rain-affected matches.
Dhawan displayed a shrewd balance of attack and defence in reaching his 10th ODI century, accumulating sensibly and using the pull and cut shots to pounce on anything wayward from an underwhelming Sri Lanka attack.
He shared an opening stand of 138 with Rohit Sharma (78) before his partner steered Lasith Malinga straight to Thisara Perera and Nuwan Pradeep removed Virat Kohli for a rare duck shortly after. Dhawan responded with five boundaries in quick succession.
Although Sri Lanka then stifled India for a spell, Dhawan brought up his century with a trademark late cut off Pradeep in the 40th over before finally holing out for 125 as MS Dhoni (63) and Kemar Jadhav (25) then combined to pass 300.
Despite having drifted in and out of the India side during his career, Dhawan, 31, is now the third-fastest batsman to reach 10 one-day centuries, taking 77 innings, behind South Africa pair Quinton de Kock (55) and Hashim Amla (57).
He is also the epitome of consistency in the Champions Trophy, becoming only the fourth player in the history of the tournament to hit three centuries, after Chris Gayle, Herschelle Gibbs and Sourav Ganguly, and also averages 79 in one-day games in England.
It seems counter-intuitive to question the batting power of a side that set a target of more than 300, but this result perhaps highlights flaws in India’s batting approach.
While their bowling was poor – Jadeja in particular was expensive as Kohli even resorted to bringing himself on – and Sri Lanka’s skilled chase was a surprise, the reigning champions ultimately did not compile enough runs on a good pitch.
They followed a familiar plan of not losing a wicket in the first 10 overs before accelerating towards the end. But though they scored 103 in the final 10 overs, they had failed to push on at key times against Sri Lanka’s part-time bowlers Gunathilaka and Gunaratne.
“India should have got 350 today – it’s what the situation, the pitch, the Sri Lankan bowling, and the short boundary dictated,” said Test Match Special analyst Simon Hughes.
“They are still very orthodox in the way they bat. They have got exhilarating players but not many of them play unusual shots.
“In recent years they have often scored over 300 but a lot of those scores have only been just over 300. Their run rate is 5.78 over the last two years and England’s for example is 6.28.
“The team that wins this tournament will need to be more creative and get well over six an over – England are a bit more adventurous with the bat and that may be the factor that decides the tournament.”
In 46 matches since the 2015 World Cup, England have scored over 350 on 14 occasions – including two innings over 400 – while India have cleared 350 twice in 29 matches, although both those instances came against England in January.