India carried its domination from the Test series into the One-day format and achieved its biggest ever win in terms of overs left while chasing a 200-plus total.
The dominant hosts overhauled the 217-run target with 127 balls to spare with Dhawan annihilating the Lankan attack with his brutal 132-run knock which came off just 90 balls.
Dhawan punished the bowlers with 21 boundaries, including three sixes, finishing the match in a jiffy. He brought up his 11th ODI hundred off only 71 balls and it was the second quickest hundred against Sri Lanka by an Indian batsman after Virender Sehwag's 66-ball effort at Rajkot in 2009.
Sri Lanka after being invited to bat enjoyed its best starts since India's arrival in the country but suffered a batting collapse to be all out for 216 in 43.2 overs, losing nine wickets for just 77 runs.
Also Read
Niroshan Dickwella (65) and Danushka Gunathilaka (35) gave the hosts a promising start with a 74-run stand but it went on a self destruction mode to be all out in 44th over from a solid 139 for one.
Left arm spinner Axar Patel was the stand out bowler for India with career-best figures of three for 34 runs. He was playing his first international match since October last year.
He made a slow start and was clearly rusty from sitting out the first half of this tour.
But Dhawan batted like he had been throughout this trip and put the Lankan attack to the sword once again. With Kohli for company, he brought up India's 50 in the ninth over and after the first powerplay, the visitors were placed at a comfortable 64 for one.
Dhawan reached his half-century off 36 balls, inclusive of eight fours and a six. He did not slow down thereafter either and kept attacking the Lankan bowlers with their partnership crossing the 100-mark in 78 balls.
The opener, though got a life on 88 in the 21st over off Vishwa Fernando with keeper Dickwella diving full stretch to his left but unable to pouch the edge.
Dhawan was again dropped off Lasith Malinga in the 26th over at long on as Lankan shoulders dropped. The hosts were soon put out of their misery as India won with 21.1 overs to spare.
Earlier, Sri Lankan fans turned up at the venue expecting an improved showing from the meek surrender in the preceding Test series but they were left disappointed.
India opted to go in with left-arm spinner Patel and leg spinner Yuzvendra Chahal as Kuldeep Yadav was surprisingly left out.
Their 50-partnership had come off 53 balls, and they looked good for a long vigil at the crease as India were bereft of ideas to break their stand. Dickwella reached his 5th ODI half-century off 65 balls.
But things started happening when the spinners, particularly Kedar Jadhav (2/26), came on to bowl. In the 14th over, Dickwella survived a run-out attempt with a dive, but then in that same over, Gunathilaka perished playing a needless reverse sweep off Chahal (2/60).
Jadhav though trapped the opener lbw in the 25th over, with the batsman not surviving the DRS review either. The big blow came when Patel bowled Mendis against the run of play in the 28th over, with the scorecard reading 150/3 at that stage.
Lanka still looked good to reach 280 at that stage, but the spinners strangled the runs and collapse came expectedly thereafter.
First, skipper Upul Tharanga (13) got off a horrendous full toss from Jadhav in the 33rd over and was caught at long on. In the next over, Kohli ran out Chamara Kapugedara (1) with a straight hit from extra cover.
Patel accounted for Waninda Hasaranga (2) and Lakshan Sandakan (5) to dismiss any fightback from the lower order. It was his best effort in ODI cricket, going past 3/39 against South Africa in Indore (2015).
Lasith Malinga (8) put on 22 runs with Angelo Mathews (36 not out) for the ninth wicket as they pushed the Lankan score past 200.
But the former departed in an attacking manner, stumped off a wide delivery from Chahal as the Lankan innings crossed the 40-over mark.
Disclaimer: No Business Standard Journalist was involved in creation of this content