In absence of the first-choice opener Shikhar Dhawan, Rahul grabbed the opportunity with both hands hitting seven fours and one six en route to a 48-balls 61 after they were put in by Sri Lanka skipper Thisara Perera.
Rahul and number three Shreyas Iyer (24) put together 63 runs from 46 balls as India looked to push for a 200 on a two-paced Barabati wicket before Sri Lanka bounced back dismissing the duo in 11 balls.
Manish Pandey provided fine support to Dhoni with an unbeaten 32 from 18 balls as the duo added an unbeaten 68 runs from 34 balls to prop up the total.
Rahul paced his innings brilliantly and also successfully reviewed to overturn an LBW decision when he was on 23.
Also Read
Sri Lanka looked to attack through Mathews and brought him back in the ninth over to break the partnership.
Stepping out against Mathews, Rahul was hit awkwardly in the abdominal region when on 37 as he had to be attended to by the physio.
There was no looking back for India but Sri Lanka slowed down the run-rate, removing Iyer and Rahul in space of 11 balls.
Iyer edged one behind the stumps and Rahul was deceived by a slower one by skipper Perera.
Dhoni came in at four to a rousing reception by a capacity crowd of 43,000 and he did not disappoint as India added 66 runs in the last five overs without losing a wicket.
11 runs came from Danajaya's next over with boundary each by Rahul and Sharma as India were going strong for 38 for no loss from 29 balls when Mathews gave the first breakthrough dismissing the Indian skipper.
Looking to clear the midwicket, Sharma mistimed and a brilliant forward diving catch by Chameera ended his innings for 17, but not before he became the second Indian to reach 1500 T20 runs after Virat Kohli.
Sharma got to the milestone when he was on 15.
Disclaimer: No Business Standard Journalist was involved in creation of this content