Shikhar Dhawan struck an unbeaten hundred as India extended their winning run in bilateral ODI series to eight after beating Sri Lanka by eight wickets in Sunday’s deciding third game in Visakhapatnam.
India lost Rohit Sharma (7) early as they chased Sri Lanka's 215 all out four days after the opener, standing in as captain for the rested Virat Kohli, had spanked his third double ton in ODI cricket.
But Dhawan (100no) and Shreyas Iyer (65) then shared a second-wicket stand of 135 as the hosts, who won with 17.5 overs remaining, completed a come-from-behind victory having lost the series opener in Dharamsala.
Spinners Yuzvendra Chahal and Kuldeep Yadav derailed the Sri Lanka innings after the visitors had reached 136-1 in the 23rd over thanks to Upul Tharanga (95) and Sadeera Samarawickrama (42).
Leg-spinner Chahal (3-46) had Samarawickrama caught by Dhawan at deep cover before Kuldeep (3-42) had Tharanga stumped by MS Dhoni, Sri Lanka losing nine wickets for 79 runs to be bowled out in 44.5 overs.
Tharanga missed out on a 16th ODI century but did pass 1,000 ODI runs for 2017, the third man to achieve the feat after India duo Rohit and Kohli.
Rohit failed to fire like he did in Mohali on Wednesday when his unbeaten 208 teed up a series-levelling 141-run win, the opener bowled through the gate by Dhananjaya de Silva in the fourth over.
But Dhawan and Shreyas, who shared stands of 213 and 115 respectively with Rohit in the second ODI, denied Sri Lanka a second breakthrough until the 23rd over, Iyer skewing Thisara Perera to mid-on.
Dhawan completed his 12th ODI century from 84 balls with a sweep for four in the 32nd over, Dinesh Karthik (26no) clobbering the series-winning boundary from the first ball off the 33rd.
India and Sri Lanka will now contest a three-match Twenty20 international series, starting in Cuttack on Wednesday, live on Sky Sports Cricket from 1.20pm.