India are on course to defend their World Cup title after sealing a 109-run victory over Bangladesh to reach the semi-finals of the tournament.
The reigning champions went into bat first in Melbourne and impressed by scoring 302-6 in 50 overs.
Virat Kholi had a disappointing spell at the crease by hitting just three off eight balls before getting dismissed by Rubel Hossain, but it was Rohit Sharma who impressed by top-scoring with 137 runs off 126 deliveries.
In reply, Bangladesh went well with Tamim Iqbal and Imrul Kayes as they reached a combined 33 runs inside six overs, but disaster struck when both batsmen were sent to the pavilion in consecutive balls.
Iqbal (25) nicked to MS Dhoni off Umesh Yadav's delivery, and in the next ball, a communication mix-up between Kayes and Soumya Sarkar resulted in the former being left stranded in the field, which Ravindra Jadeja and Yadav took advantage of to run him out.
Sarkar's partnership with Mahmudullah looked steady until Mohammed Shami struck to send the latter packing on 21 off 31 balls courtesy of an impressive catch from Dhawan, who juggled the ball three times on the boundary, but calmly caught it.
With Bangladesh on 73-3 after 16 overs, a victory looked less likely and it wasn't long before Shami took his second wicket of the day by getting Sarkar (29) caught out by Dhoni, and Shakib Al Hasan (10) shortly followed after Bangladesh hit the 100-run mark.
Five wickets down, and not one of the Bangladesh batsmen managed to score more than 30 runs. Mushfiqur Rahim came close, but he was taken out on 27 by Yadav.
India continued to dominate the field and eventually bowled their opponents all out for 193 with 30 balls remaining.