Riding on twin tons from Rohit Sharma and KL Rahul, the Indian team romped to a seven-wicket win over Sri Lanka on Saturday to cap off an outstanding league phase at Headingley in Leeds.
Rohit slammed a record fifth century in the tournament to surpass Kumar Sangakkara's record of most centuries in a single edition which the Sri Lankan achieved in 2015.
After Rohit's departure (103), his opening partner Rahul carried on to bring up his first hundred in the World Cup before he was undone by a surprise bouncer from Lasith Malinga, who was playing his final ODI World Cup game.
The hundreds by the openers meant that the feeble Indian middle order was not exposed to a challenge, a flaw that Virat Kohli's men would have liked to address before they entered the knockout phase.
Rahul was dismissed with India needing 21 runs to secure victory, which gave Rishabh Pant a chance to come out and spent some time in the middle. However, the swashbuckling left-hander missed the opportunity to stay unbeaten to take his side home. Pant was undone by Isuru Udana's slower delivery while attempting an ill-advised slog across the line.
Pant's wasted opportunity is unlikely to meet microscopic dissection as the Indian top order once again paper over the cracks in the middle order and also because it was a dead rubber in more than one context.
Hardik Pandya joined Kohli to steer India to a comfortable win in the 44th over of the second innings and as a result, the chinks in India's middle-order will remain going into the final stages of the tournament.
With the win, India climb to the top of the table and will at the top as Australia failed to chase down a record 326 runs against South Africa in Manchester.
The top position means India will face New Zealand, who entered the final four phase on the back of three consecutive losses, in the semi-finals while Australia will have to play pre-tournament favourites and hosts England.
Earlier, Angelo Mathews led Sri Lanka's innings from a treacherous position scoring his third ODI century taking his side to a respectable total.
Sri Lanka was in deep trouble at 55-4 in the 12th over but Mathews fashioned a rescue in a stand of 124 with Lahiru Thirimanne (53) and 74 with Dhanajaya de Silva (29) to see them post 264-7.
Mathews was out for 113 in the 49th over, while for India strike bowler Jasprit Bumrah enjoyed another superior day at work, finishing with impressive figures of three wickets for 37 runs from his 10 overs.