India are through to the Cricket World Cup semi-finals after defeating Bangladesh by 28 runs in their penultimate group game at Edgbaston on Tuesday.
Rohit Sharma hit a second hundred in three days at the Birmingham ground in a result that ended Bangladesh's hopes of reaching the last four.
Virat Kohli's men were always in control of the match after Rohit (104 off 92 balls) and KL Rahul (77) put on 180 for the first wicket.
Rohit, who had struck 102 in a losing effort against England on Sunday, struck seven boundaries and five sixes in an aggressive knock.
Rahul, who had scored only 162 in his previous six innings at the tournament, made his top score before he fell caught behind by Mushfiqur Rahim off Rubel Hossain in the 32nd over, three overs after Rohit had been caught by Liton Das off Soumya Sarkar.
India at that stage in the 32nd over had looked set for a huge score at 195-2, but their innings fell away as Mustafizur Rahman gave Bangladesh hope as he took 5-59.
That included the wickets of Kohli (26) and MS Dhoni (35), while Rishabh Pant (48) was the only other batsman to get to double figures as India made 314-9.
Bangladesh put up an admirable run chase, but their hopes had appeared to be over when Shakib Al Hassan was caught by Dinesh Karthik off Hardik Pandya for 66 at 179-6.
Fast bowlers Bhuvneshwar Kumar, Jasprit Bumrah and Mohammed Shami all proved difficult to get away, while Pandya finished with three wickets.
Mohammed Saifuddin (51 not out) gave India a late scare with a gutsy fifty, but he ran out of partners as Bumrah dismissed Hossain (9) and Rahman (0) in successive balls to end the match and finish with figures of 4-55.
India can still win the group as they now head to Leeds for their final group game against Sri Lanka in Leeds on Saturday. If they triumph, and Australia lose their match on the same day against South Africa, then they will be the No 1 seed for the semi-finals.
Bangladesh will look for a consolation win against Pakistan at Lord's in their final game before departing England on Friday.