Opting to bat, Sri Lanka rode on their skipper Angelo Mathews' unbeaten 116-ball 139 to put up a challenging 286 for eight at the JSCA International Stadium Complex, before Kohli (139) guided India home with eight balls to spare.
Kohli struck 12 fours and three sixes during his 126-ball captain's knock as India boosted their confidence ahead of the tough upcoming tour of Australia.
A screaming Kohli sealed the issue by hitting Mendis for a six over long-on after completing his 21st century and the fourth this year.
Incidentally, Mathews too scored the same number of runs runs in setting up respectable score, but the day belonged to his Indian counterpart as India geared up to the Australia tour before the World Cup with a memorable series triumph.
Watched on by his GCA president Amit Shah, Axar Patel played a perfect cameo remaining unbeaten on 17 from 14 balls in an undefeated 57-run partnership from 32 balls.
Chasing a fighting 287, India looked in firm control with Kohli and Rayudu (59 from 69 balls) putting on 136 runs for the third wicket, but the latter was unfortunately run out by the skipper triggering a mini collapse.
Lanka almost had the twist in the tale after Mendis (4/73) claimed the wickets of Stuart Binny and R Ashwin in successive deliveries as Kohli remained stranded at the other end.
The collapse that began with Rayudu's wicket meant India lost five wickets for 81 runs but Kohli held his nerves and took on Mendis, stepping out to hit a big six and a four to turn the match in India's favour.
Scripting yet another run chase, Kohli brought back the memories of his 77 not out in their run chase against England in January last year, in the first match at the venue.
It was their best ever fight on the gruelling tour that came up suddenly, and heavy dew played a big role in their narrow defeat.