India 265 for 3 (Rahul 111, Rohit 103) beat Sri Lanka 264 for 7 (Mathews 113, Thirimanne 53, Bumrah 3-37) by seven wickets
As it happened
India didn't quite get to test their middle order one last time before the semi-final, but Rohit Sharma and KL Rahul put up India's fourth century for the opening stand in the tournament, made centuries of their own, and helped India to 15 points at the end of the group stage as they galloped to a seven-wicket win over Sri Lanka.
WATCH on Hotstar (India only): Highlights of India's win over Sri Lanka
The openers put on 189 of the 265 India were set, unleashing strokes that ranged from pristine to borderline outrageous. They were able to recreate a pace that resembled that of India's regular opening pair, and it came about because of Rohit's uncharacteristic early aggression.
Rohit's century was accurately capsulised in the 17th over of India's chase. His strike rate had only briefly dipped below run-a-ball when he was on 46, and he sorted that out by launching Dhananjaya de Silva over wide long-off, feet firmly rooted on the pitch. That didn't seem enough; a ball later, he skipped down the track, and brought out a clean swing from underneath the ball, sending it straight back over the bowler for the longest six of the day.
Preceding them were eight fours of all makes - languid pokes through the covers, whips through midwicket, even a one-handed loft over mid-on. Through the course of the stand, Rohit did pretty much anything he wanted. On 99, he pulled a Kasun Rajitha off-stump delivery to the midwicket boundary to bring up the record for most centuries - crossing Kumar Sangakkara's four - in a World Cup well after he had vaulted to the top of the run-scoring charts.
WATCH on Hotstar (USA only): Full match highlights
Rahul was more true to his theme in the tournament but managed to play out his plans longer than any previous innings. While still occasionally circumspect outside the off stump, he began with a string of glorious drives through the off side against the new ball. India's scoring rate at the start was significantly helped as a result, with even Lasith Malinga enduring a difficult time against the two right-hand batsmen. Rahul's own scoring rate slowed down in the midst of Rohit's fluency, but he too chose to break the shackles against Dhananjaya. His kickstart also involved getting to fifty against Sri Lanka's only spinner on the day, and then hitting him straight.
Rahul's century was brought up with more precision than power, though that was understandable: it was his first ODI hundred since his debut ton against Zimbabwe in 2016. Malinga did manage to dismiss though, Rahul gloving behind as he limboed against a short ball that kept tailing back. India needed another 21 to get at that point, and Virat Kohli was there to see them through to the end.
India's opening stand outdid the other century partnership on the day, a patient 124-run alliance for the fifth wicket between Angelo Mathews and Lahiru Thirimanne that kept Sri Lanka in the game after they had lost four wickets inside 12 overs. Sri Lanka's most experienced batsmen had two jobs to do on the day - blunt India's attack, aggressive fields and all, and try to give their bowlers a total to bowl at. They managed both, starting by playing low-risk shots and staying content scoring just over four an over for the first half of their partnership. Their first three boundaries together came after Kuldeep Yadav's introduction - and against him - nearly 50 balls into the stand. Mathews was happy slashing the spinner through the off side on a pitch that offered a hint of grip and bounce.
It was largely a batting-friendly surface and got easier and easier as the sun burst through in the middle of the day. Thirimanne couldn't reap the benefits much past his fifty, but Mathews grew more dangerous as Dhananjaya stuck around with him. Mathews reverse-swept Kuldeep twice as he approached three-figures and continued punishing any width, of which there was plenty as India's bowlers endured tepid second spells. Even the shot to bring up his third ODI century, all of which are against India, was a generous half-tracker that was carved over point.
That innings, and that partnership came after India seemed to have sealed Sri Lanka's fate much earlier in the day. Jasprit Bumrah had begun with two consecutive maidens, one of which contained the wicket of Dimuth Karunaratne, who edged behind on the angle. Bhuvneshwar Kumar didn't quite hit his straps in overseas conditions though, and his day didn't get any better when Kuldeep and Hardik Pandya had a moment of miscommunication as they got under a toe-ended loft from Kusal Perera; Hardik didn't seem to hear the call at mid-on, and Kuldeep, the mid-off fielder who was closer to the line of the ball only mustered a weak flap at the ball with Hardik in his peripheral vision.
But onto that vulnerability was Bumrah again, this time using the angle to induce a cut from Kusal, only to get his inside edge, which MS Dhoni grabbed onto. Kusal chose to walk as India contemplated a review, and he would be followed shortly by Kusal Mendis, who ran down at Ravindra Jadeja's fourth ball of the day to be beaten in flight and stumped. Dhoni added a fourth dismissal - two fewer than Adam Gilchrist's World Cup record of six - when Avishka Fernando gloved a slower bouncer to him but Sri Lanka's collapse stopped at 55 for 4. It did prove vital though - 264 on a good batting surface was not going to trouble India. And it was the perfect representation of a disappointing tournament for them.