The match was reduced to 19-overs-a-side affair after over an hour was lost due to rain.
Later chasing the modest target, India overcame early jitters riding on Manish Pandey's unbeaten 42 and Dinesh Karthik's 39 not out to overwhelm Sri Lanka's total with nine balls to spare.
Rohit's lean patch with the bat continued as he once again perished early. After making a positive start with a six and four off Suranga Lakmal in the opening over, Rohit mistimed a shot straight to Kusal Mendis off Akila Dananjaya (2/19) in the next over.
To matters worse for India, Dananjaya struck again an over later, this time getting the big wicket of Dhawan who gave a simple catch to Thisara Perera at mid-on.
In came Suresh Raina (27) and made his intentions clear with a couple of fours and sixes to lift India.
But the left-hander looked in a hurry and in the process lost his wicket, chipping one straight to Thisara Perera at mid-off Nuwan Pradeep (1/30) as India slumped to 63 for three after seven overs.
KL Rahul (18), who came in place of Rishabh Pant, looked in good tough during his short stay before being dismissed in a strange manner. After surviving a close run out chance in the previous ball, Rahul got out hit wicket while trying to work a Jeevan Mendis delivery into the leg side.
But thereafter, Pandey and Karthik ensured there were no more hiccups as they stitched unbeaten 68 runs for the fifth wicket to guide India home comfortably.
Earlier sent into bat, Kusal Mendis once again shone bright for Sri Lanka scoring 55 off 38 balls with the help of three fours and as many sixes before Indian bowlers led by Thakur brought their side back into the game with wickets at regular intervals.
Thakur returned with impressive figures of 4/27, while young off-spinner Washinton Sundar (2/21) scalped two wickets as India made a strong fightback after leaking runs in the first 10 overs.
Vijay Shankar (1/30), Yuzvendra Chahal (1/34) and Jaydev Unadkat (1/33) also accounted for a wicket each.
But initially it looked Rohit Sharma's decision to bowl first backfired as Sri Lanka got off to a flier scoring 24 runs off the first two overs.
Left-arm pacer Unadkat was taken to the cleaners as he gave away 15 runs in the first over.
But India pulled things back bit with two wickets in back-to-back overs.
Sundar then cleaned up in-form Kushal Perera (3) in the next over as the batsman went for an expansive reverse sweep.
But thereafter Kusal Mendis took the the Indians bowlers to task in Upul Tharanga's (22) company as the duo added 62 runs for the third wicket to help Sri Lanka reach 94 for two after 10 overs.
Kusal Mendis continued his good form and did not spare a single Indian bowler while Tharanga preferred to play the second fiddle.
Kusal Mendis used the crease to great effect to hit most of his scoring shots on his favourite left side.
Shankar broke the dangerous-looking partnership when he bowled Tharanga in the 11th over.
In between, Kusal Mendis brought up his fourth fifty in five innings in just 31 balls.
The big blow for Sri Lanka came when Kusal Mendis departed next, giving away a soft catch to Rohit off Chahal.
Thakur then dimissed Dasun Shanaka (19) and Dushmantha Chameera in consecutive balls in the 19th over to stand in with a chance to claim a hat-trick which didn't come.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)