Having already secured their spot in the next phase, there was no let-up from Virat Kohli’s men as a near-full-strength side dominated in Leeds.
Jasprit Bumrah did the damage with the ball, claiming 3/37 to take his competition tally to 17, with Sri Lanka requiring a sublime 113 from Angelo Mathews to post 264/7.
That didn’t prove enough as Rohit and KL Rahul, who delivered his first hundred of the showpiece, set the stage for a comprehensive victory by putting on 189.
The former became the first batsman to hit five World Cup tons in a single edition, taking his tournament-best tally to 647, as India headed into the knockout stages on the back of a near-perfect triumph.
As has been the recent trend, Sri Lanka chose to bat – but quickly ran into an inspired Bumrah.
The paceman had openers Dimuth Karunaratne and Kusal Perera caught behind, before Ravindra Jadeja – making his first appearance of the competition – lured Kusal Mendis down the pitch, MS Dhoni completing the stumping.
Avishka Fernando played some typically pleasing strokes, but edged behind for 20 from Hardik Pandya’s slower-ball bouncer as Sri Lanka slipped to 55/4.
Their rebuild from there was impressive, Lahiru Thirimanne and Mathews blending exceptional running with the odd boundary in a century stand.
It ended when Thirimanne edged Kuldeep Yadav to backward point, but Mathews continued on, hitting two powerful sixes in his fine century to give Sri Lanka something to defend.
Such hopes were dented by Sharma’s flying start, the opener – buoyed by four previous centuries – hitting some beautifully timed strokes on both sides of the wicket.
Rahul was similarly imperious, striking three boundaries in the space of five deliveries off Lasith Malinga and Kasun Rajitha as India brought up their 50 in 6.5 overs.
The pair took a more calculated approach thereafter, albeit interspersed with some flourishes; Dhananjaya de Silva was particularly targeted, Rahul following Sharma by powering the spinner for two maximums in a set of six.
Sharma reached three figures in 92 deliveries before hitting Rajitha's slower ball to Mathews at mid-off for 103, but Rahul (111) continued on.
He brought up his century off 109 balls, taking India to the brink of a victory that was sealed by a cameo from skipper Kohli (34*).