Shikhar Dhawan struck a sublime hundred as India delivered yet again in a series decider to beat Sri Lanka by eight wickets in the third ODI and record their eighth successive series win in a bilateral contest.
India raced to the 216-run target in 32.1 overs with Dhawan (100 n.o. off 85) completing his 12th ODI ton in what turned out to be the penultimate over of the match.
Shreyas Iyer made a significant 65 off 63 balls, his second successive half century, but missed on the opportunity of scoring a hundred in a winning cause. Dinesh Karthik remained unbeaten on 26 alongside Dhawan and hit the winning runs.
The quick run chase came after a Sri Lankan collapse that saw them all out for 215 from a promising 160 for two.
The visitors failed to apply themselves on a pitch that offered decent turn as Indian spinners Yuzvendra Chahal and Kuldeep Yadav picked up three wickets apiece.
With the professional performance tonight, India won their sixth ODI series of the year and eighth in a row since July 2016.
Sri Lanka, on the other hand, were consigned to yet another defeat in a rather miserable year in which they have won only five matches.
During the course of his match-winning knock, Dhawan crossed the 4,000-run barrier in his 96th ODI. He hit 13 boundaries and two sixes overall as he toyed with the Sri Lankan attack.
Iyer reached his second ODI fifty in 44 balls before throwing his wicket away by attempting a big shot off Thisara Perera only to sky a catch to Suranga Lakmal at mid-on.
The Mumbai batsman survived two dropped chances, when on 25 and 38. In the first instance, Angelo Matthews grassed a catch at slip off Sachith Pathirana's first delivery and the second life came when Akila Dhananjaya couldn't hold on to a tough chance at the deep third-man.
India skipper Rohit Sharma was not able to reproduce his Mohali magic as he fell in the fourth over after hitting a big six off Akila Dhananjaya.
The leggie got his googly to come in sharply and deceive Sharma, much to the disappointment of the crowd. The captain made just seven after having decimated the Lanka attack in Mohali with a brilliant double ton.
Dhawan and Iyer made light of the early departure of their skipper and put on 135 runs in 19 overs to put India on the road to victory.
Iyer, who scored his maiden ODI fifty at Mohali, hit a flurry of boundaries after a cautious start and hoisted Pathirana for six over long-on.
Earlier, Sri Lanka suffered a dramatic collapse undoing the good work done by opener Upul Tharanga.
Spinners Kuldeep Yadav and Yuzvendra Chahal shared three wickets each for India as Sri Lanka squandered a blistering start provided by Tharanga (95 off 82).
The wicket offered decent turn for the spinners but the visitors failed to apply themselves, losing the last five wickets in the space of 18 runs and the last eight for 55 runs.
Put in to bat by India captain Rohit Sharma, Sri Lanka were cruising with Tharanga and Sadeera Samarawickrama (42) sharing a 121-run stand for the second wicket after Danushka Gunathilaka (13) fell in the fourth over.
Tharanga played some superb shots and was not afraid to hit aerial. The southpaw hit all his three sixes off Chahal, who otherwise was the best bowler on show with his drift and turn troubling the batsmen.
Hardik Pandya came in as the first change bowler in the seventh over, replacing Bhuvneshwar Kumar. He was taken for 20 runs in his second over by Tharanga, who looked increasingly confident but got lucky on a few occasions.
The seasoned Angelo Matthews, who walked in following his exit, put on 24 overs with Tharanga, before the left-hander was stumped by MS Dhoni off Kuldeep's bowling for 95. The opener, who missed out on a well-deserved ton, completed 1,000 runs for the calendar year during the course of the knock. Thereafter, it all went downhill for Sri Lanka.
Both sides made one change each to their Playing XI with India bringing in Kuldeep in place of an ill Washington Sundar and Lanka replacing the misfiring Lahiru Thirimanne with Samarawickrama.