After skipper Virat Kohli opted to bowl on winning the toss, Indian spinners Ravindra Jadeja, R Aswhin and Amit Mishra shared seven wickets between them to skittle out Afghanistan for 159 in 45.2 overs.
The Indians chased down the target in 32.2 overs to clinch the bonus point but it was a case of too little too late after defeats against Sri Lanka and Pakistan poured cold water on their final hopes.
Ajinkya Rahane (56), after being promoted to open, and Shikhar Dhawan (60) set up the chase for India with a 121-run opening wicket partnership.
Earlier, Mohammed Shami provided India the first breakthrough by dismissing Nawroj Mangal (5) and thereafter it was a one-sided contest as Jadeja ripped through the inexperienced batting to finish with figures of 4/30.
Ashwin (3/31) also chipped in to fox the Afghans, who will go out with their heads held high after beating Bangladesh during the course of their campaign.
Afghanistan's innings centred around No 8 batsman Samiullah Shenwari, who scored a sensible 50 from 73 balls to give their total a semblance of respectability after a top-order collapse left them reeling at 95/7.
Having played safe by not fiddling with the playing XI even in a dead rubber against Afghanistan, India sent Rahane in the opening slot, a move that clicked as he and Dhawan put on a century partnership.
The duo played mostly in ground strokes and Rahane impressed up the order with his composed batting. The youngster, who usually bats at number four, settled in quickly and rotated the strike to take pressure off Dhawan, a tentative-starter who got a reprieve on 28.
But inspired by Rahane, Dhawan too got into the groove as the duo scored their half-centuries in tandem. Rahane was unlucky to have been given out LBW after completing his fifth ODI half-century.
Dhawan was gone exactly an over later when Mohammad Nabi knocked off his off-stump after the batsman was beaten by the turn. Dhawan smashed four boundaries and a six in his knock that came off 78 deliveries.
But their dismissal in quick succession did little to hamper the Indian momentum as Rohit Sharma (18 not out) and Dinesh Karthik (21 not out) steered the Indians home with ease.
Earlier in the match, Afghanistan started on a positive intent with openers Noor Ali (31) and Nawroj Mangal (5) looked in no trouble against the Indian new-ball bowlers Bhuvneshwar and Shami.
Noor Ali looked attractive with his elegant drives and he also stepped out to Shami who looked jaded and seemed to have lost his bite. The Indian pacer conceded 23 runs from his first two overs.
The effects of bowling non-stop since emerging into the scene began to show on Shami who was kept in the playing XI despite the game being dead rubber.
With the likes of Cheteshwar Pujara and Ishwar Pandey warming the bench, the think-tank could have easily handed them the berths but skipper Kohli opted to play it safe retaining the XI.
The Afghanistan openers were cruising along at 30 for no loss from five overs when Nawroj went for an expansive heave way outside the off-stump only to play on to the stumps.
Their inexperience cost them heavily as Jadeja came in the 13th over and took two wickets helped by some poor shot selection by the Afghan batsmen.
Jadeja had Rahmat Shah (9) trapped before scalping the impressive Noor Ali who threw his wicket after pulling a short ball straight to Kohli.
In the next over, Jadeja dismissed Afghanistan's leading run-getter in the series Asghar Stanikzai who also pulled the ball straight to Mishra to be dismissed for five.
Jadeja's figures at that stage read an impressive 2-0-3-3.
It could have been a fourth wicket had Kohli not messed up while taking a sitter of Najibullah Zadran but it did not hurt the side with the bowlers on a roll.
Apart from Shenwari only two others -- Noor Ali Zadran (31) and Mohammad Shahzad (22) -- could reach double figures faced with India's hostile spin attack.
Shenwari was the last wicket to fall, trapped in front of the wicket by Shami, who emerged as the most expensive bowler for India conceding 50 runs from his 7.2 overs while picking up two wickets.