After bowling out Sri Lanka for 216 runs, India reached 220 runs for the loss of one wicket in 28.5 overs.
Rohit Sharma (4) was out early.
But Kohli and Dhawan did not let the situation get out of hands and ensured a victory till the end.
Dhawan hammered 20 boundaries and three sixes in his unbeaten 132 runs knock.
Indian bowlers earlier shinned with the ball to restrict Sri Lanka in the first ODI at 216 runs here on Sunday.
Indian bowlers bowled out the 1996 World Cup champions for 216 runs with only Niroshan Dickwella top scoring with his 64 runs.
Danushka Gunathilaka (35), Kusal Mendis (36) and Angelo Mathews (36) contributed with their willows.
Dickwella hit eight boundaries in the innings.
Axar Patel picked up three wickets for India to shake the Sri Lankan batting line up.
Image: BCCI Twitter page