Shikhar Dhawan (51 off 25) smashed his maiden fifty in T20 Internationals to fire India to 196/6 and the home team's strong batting effort came despite Thisara Perera's hat-trick in the penultimate over of the innings.
The other notable performances in the Indian innings came from Rohit Sharma (43 off 36), Hardik Pandya (27 off 12) and Suresh Raina (30 off 19). Sri Lanka could never recover from a poor start and ended at 127/9 in 20 overs.
Star spinner Ravichandran Ashwin struck in the first legitimate ball of the innings with Dhoni pulling off a split second stumping to send back Tillakaratne Dilshan. Ashwin had started his spell with two wides.
Old horse Ashish Nehra had Seekkuge Prasanna on the very first ball of his opening spell before inducing an edge from opener Danushka Gunathilaka to leave Sri Lanka tottering.
More From This Section
Chamara Kapugedera (32) and captain Dinesh Chandimal (31) shared a brisk 52-run stand for the fourth wicket before Ravindra Jadeja got rid of them in successive balls to dash all hopes of a Sri Lankan comeback. Dhoni displayed another quickfire stumping to send Chandimal back in the dressing room.
Pacer Kasun Rajitha, who troubled the famed Indian batting on his international debut in Pune, proved to be expensive this time. The 22-year-old bowled short and wide on the very first ball of the match and Rohit comfortably dispatched it to the point boundary.
Dhawan got going with a couple of delightful sixes. He flicked pacer Perera over mid-wicket before sweeping spinner Sachithra Senanayake in the following over for another maximum. There was no stopping Dhawan after that as he got to his maiden fifty in 22 balls.
(REOPENS DEL 42)
Both Rahane and Kohli were out to pull shots on a wicket where the odd ball had started turning and jumping from the footmarks or widening cracks.
Rahane, who joined Kohli straightaway this morning after India had lost night watchman Amit Mishra to the third ball of what was the final over of the extended day's play, was out when he misread a straight ball from left-arm spinner Ansari.
It was the first big blow of the day and an even bigger one followed when Kohli, who looked well-set and had eschewed risky shots, went back to pull the ball from leggie Rashid but trod on his wicket as his left leg touched the base of the stump and disturbed the bails.
Kohli thus became the second India captain to get out hit wicket after Lala Amarnath in 1948-49 at the Chepauk in Chennai against Trevor Goddard's West Indies.
It was also the 22nd time that an Indian batsman was out in this freak manner, Lala's son Mohinder heading the list having been out thrice in this fashion, and the first time since VVS Laxman got out hit wicket in 2002 against the West Indies at St. John's, Antigua.
Although India later lost the wickets of Saha, Jadeja (12), Yadav (5) and Ashwin, tea had approached and England's lead was cut considerably.
Ashwin, who compiled his seventh half century in his 40th Test and third against the tourists, was the last to depart when he was caught in the deep off Moeen Ali after having added 29 runs for the last wicket with Shami who was not out 8 after a stay of half an hour.
The Indian spinners will certainly come in for some flak as they bowled 26 out of 37 overs. Ashwin (0/32 in 10 overs) and Ravindra Jadeja (0/33 in 10 overs) did get the ball to turn and jump but it wasn't anything menacing. Amit Mishra (0/19 in 6 overs) again looked slow through the air.
Debutant opener Hameed batted confidently in the company of his captain Cook and the 50 came up quickly in the 15th over.
He offered no stroke when he went back to Ashwin and was rapped on pads. The appeal was rejected and the DRS call by the Indians showed the ball was missing the off stump and he survived. He was out for 31 to Ashwin, trapped leg before, in the first innings.