India got off to a fiery start in their pursuit of Afghanistan's target. Rohit Sharma became the joint-fastest batter to 1000 runs in Cricket World Cup history. He took 19 innings to achieve this landmark, which equals him with Australia's David Warner.
The India skipper also surpassed West Indies great Chris Gayle to become the player with the most sixes in all formats of international cricket.
A strong late-over effort from India's bowlers has held Afghanistan to well under 300 at the Arun Jaitley Stadium in Delhi, undoing the work of Afghan skipper Hashmatullah Shahidi's 80, which had earlier laid a strong foundation.
Passing fifty in spite of losing Azmatullah Omarzai for 62 of his own, the captain helped Afghanistan pass the 200-run mark inside 40 overs, though a flurry of wickets fell as the underdogs tried to up the ante.
After Najibullah Zadran and Mohammad Nabi fell cheaply, Rashid Khan showed his death-over prowess with a flurry of boundaries, though fell in the 49th over for Jasprit Bumrah's fourth wicket.
Bumrah finished with 4/39 from his 10 overs, with Shardul Thakur, Hardik Pandya and Kuldeep Yadav also in the wickets.
After seeing off the first couple of overs, Rohit Sharma unleashed his belligerence at Arun Jaitley Stadium. He took a boundary off Fazalhaq Farooqi and then didn't look back.
In the eight over of the innings, he brought up his half-century in the eight over, off merely 30 balls. He also hit his third six off the fifth ball of that over. This helped him reach 554 sixes in international cricket. He became the batter with the most sixes across formats.
India were already going close to nine and a half by the end of first Powerplay. Rohit was at 76, while his partner, Ishan Kishan, was unbeaten on 11.
After that, Kishan picked pace as well and India went ahead at a healthy run rate. Rohit reached his hundred in the 18th over. He became the batter with most Cricket World Cup hundreds. His 63-ball hundred was the fastest-ever century by an India batter in a Cricket World Cup contest.
Afghanistan could only add 61 in the final 10 overs, around a similar rate as their middle-over period, in no small part to Shahidi and Omarzai's 121-run partnership.
Omarzai in particular opened his arms after the mid-innings mark, following his onslaught on Kuldeep Yadav with a six against Ravindra Jadeja, and then two fours against Siraj. Afghanistan would go on to add 33 runs over the next five overs.
He reached his half-century, just the second of his ODI career, in the 32nd over. In the next over, he and Hashmatullah logged just the second century stand for Afghanistan in Cricket World Cup history.
Despite their efforts, the Afghans were unable to find the extra gear, curtailed by Bumrah and the bowlers.
Earlier, Afghanistan skipper Hashmatullah won the toss and opted to bat first in Delhi. Opposite number Rohit Sharma mentioned at the toss he was happy to field, factoring in dew and of the belief the wicket would not prove any more difficult to bat on.
Ibrahim Zadran looked in a particularly good touch, hitting four fours during his stay. However, disciplined bowling yielded results for Bumrah, who corrected his length and got Ibrahim caught behind in the seventh over for 22.
Afghanistan settled in once again after Rahmat joined Rahmanullah Gurbaz. The pair added 31 runs for the second wicket, before Gurbaz went for an ambitious pull that was taken brilliantly by Shardul Thakur. In the very next over, Thakur trapped Shah leg before for 16.
With the arrival of India spinners, Afghanistan's scoring rate dipped. It was in the 25th over Omarzai hit two sixes against Kuldeep Yadav to provide the boost.
While Afghanistan went with the same XI that featured in Dharamsala against Bangladesh, India brought in Shardul in place of Ravichandran Ashwin.
India are in fourth spot on the Cricket World Cup points table, with Afghanistan in ninth place.