Rohit Sharma became the first player to make five centuries in a single World Cup match and his opening partner KL Rahul also struck a fluent century as India crushed Sri Lanka by seven wickets in their final group match at Headingley on Saturday.
India had already qualified for the last four and finished at top of the standings following Australia's loss to South Africa in their last group match.
Rohit and Rahul made mincemeat of the Sri Lankan attack adding a total of 189 runs, the highest opening stand at this World Cup, which effectively settled the match.
Captain Virat Kohli made 34 not out as India romped home with 39 balls to spare for their seventh win in nine matches.
🔥 Rohit Sharma in #CWC19 so far ↴
122* v 🇿🇦
57 v 🇦🇺
140 v 🇵🇰
1 v 🇦🇫
18 v 🌴
102 v 🏴
104 v 🇧🇩
103 v 🇱🇰 #TeamIndia fans on what makes him special ⬇️ pic.twitter.com/0AZgkmqLRO
— Cricket World Cup (@cricketworldcup) July 8, 2019
Sri Lanka pace spearhead Lasith Malinga completed figures of 1-82 in his final World Cup match.
Earlier, captain Dimuth Karunaratne won the toss and unsurprisingly elected to bat in a rematch of the 2011 final between the neighbours.
Sri Lanka, who failed to reach the semi-finals, slumped to 55-4 in the 12th over before Angelo Mathews smashed his first century in nearly two years to help them to a respectable 264-7.
India's Jasprit Bumrah rocked the islanders early with a two-wicket burst and Mahendra Singh Dhoni was busy behind the stumps as Sri Lanka lost their top four batsmen soon after crossing the 50-mark.
ROCKED: Jasprit Bumrah rocked the Islanders. Photo: Jon Super/AP.
Both Karunaratne and Kusal Perera fell caught behind off Bumrah and Ravindra Jadeja did not have to wait for success in his first match at this year's World Cup.
The left-arm spinner lured Kusal Mendis out of the crease for Dhoni, who was involved in each of the first four dismissals, to effect a simple stumping.
Mathews and Lahiru Thirimanne (53) refused to throw in the towel, though, their defiant 124-run stand raising Sri Lankan hopes.
WORKED HARD: Dhananjaya de Silva, left, and Angelo Mathews, right, worked hard to bring their team up. Photo: Jon Super/AP.
However, Sri Lanka toiled for 30 overs without success as Rohit and Rahul flayed their attack all round the ground.
Rohit smacked Dhananjaya de Silva for two sixes, the first one bringing up his 50 and reached his third successive hundred with a boundary off Kasun Rajitha.
The final #CWC19 standings table!
A loss to South Africa in Manchester means Australia finish second on the points table behind India. pic.twitter.com/cIMNDM4utP
— Cricket World Cup (@cricketworldcup) July 6, 2019
The disdain they had for the Sri Lanka attack was best illustrated in the ramp shot Rahul played, bending back and lowering himself before guiding the ball over the wicketkeeper's head to the boundary.
Rohit's onslaught ended on 103 when he drove Rajitha to mid-off and Rahul's 111 included 11 fours and a six.
Reuters