With India looking to seal their semis berth, they managed a superb first-half against Sri Lanka, posting a mammoth 357 with important contributions from Shubman Gill, Virat Kohli and Shreyas Iyer.
But the hosts' innings began with a shock when skipper and top-scorer Rohit Sharma departed off the second ball of the innings for just 4 runs.
The responsibility fell on Virat Kohli and Shubman Gill's shoulders who stitched up a 189-run partnership for the second wicket.
Virat steadied the ship as he scored his 70th half-century which included 8 boundaries.
The Mumbai crowd was in for a treat as Gill took charge and went off to complete his 50 a few balls later.
All of India was hoping for the duo to get to their respective centuries, but Dilshan Madushanka had other plans.
He sent Gill back at 92.
While Gill missed out on his maiden World Cup century, all eyes were then on King Kohli, who was on the cusp of equalling Sachin Tendulkar's record of 49 ODI tons.
However, Madushanka took his third wicket of the day and India's hopes were down the drain as Kohli departed for 88.
Shreyas Iyer then shone for the Men in Blue, smashing a 56-ball 82 which encompassed 6 sixes and 3 fours.
India's innings ended at 357, their highest-ever ODI score without any player's 3-figure contribution.
This was only the second instance in this World Cup that India were put in to bat first and they went on to post their highest score in this edition.
For Sri Lanka, Dilshan Madushanka was the standout bowler with a 5-wicket haul.