Dasun Shanaka led from the front with a record half-century and two wickets in Sri Lanka's series-levelling 16-run win in the second Twenty20 international on Thursday.
Shanaka hit an unbeaten 56 off 22 balls laced with two fours and six sixes to steer Sri Lanka to 206-6 after being invited to bat first in Pune.
Bowlers led by Kasun Rajitha kept down India to 190-8 despite a threatening 91-run sixth-wicket stand between Suryakumar Yadav (51) and Axar Patel (65).
Captain Shanaka turned up with his medium-pace bowling for the 20th over to send back Axar and Shivam Mavi, who hit 26 off 15 balls, and take the series into the decider on Saturday in Rajkot.
"They took the game away from us but still we managed to hold our nerve," said Shanaka, who was named man of the match for his all-round show.
"Really good to defend the total, especially against India in these conditions."
Shanaka's batting set up victory as he tore into the Indian attack with his fifty off 20 balls the fastest by a Sri Lankan batsman in the T20 format.
He beat two stalwarts of Sri Lankan cricket, Mahela Jayawardene and Kumar Sangakkara, both of whom got fifties in 21 balls.
Shanaka raised his fifty with a six and put on an unbeaten 68-run stand with Chamika Karunaratne.
Kusal Mendis, who hit 52 off 31 balls, put together 80 runs with opening partner Pathum Nissanka, who made 33, to lay the foundations for the winning total.
- 'No-ball is crime' -
Left-arm quick Arshdeep Singh was guilty of bowling five of the seven no balls in the innings.
"You can have a bad day but you shouldn't be going away from basics," said India skipper Hardik Pandya.
"In this situation it's very difficult. In the past as well he's bowled no-balls. It's not about blaming but a no-ball is a crime."
Mendis reached his fifty off 27 deliveries with a cracking six, but Yuzvendra Chahal broke through to get Mendis trapped lbw and Sri Lanka lost three more wickets.
Charith Asalanka, a left-hand batsman, hit 37 off 19 balls before falling to tearaway quick Umran Malik, who got Wanindu Hasaranga for a duck on the next ball.
Shanaka, who had hit 45 in his team's two-run opening loss, then made the innings his own as he helped Sri Lanka get 77 runs from the final five overs.
Sri Lankan bowlers came roaring with Rajitha getting two wickets including Ishan Kishan (2) and Shubman Gill (5) in the second overs of the Indian reply.
India kept losing wickets with Pandya out for 12 and Deepak Hooda falling for nine as they looked in deep trouble at 57-5 in the 10th over.
But the left-handed Axar raised Indian hopes with three straight sixes off Hasaranga in a 26-run 14th over and Suryakumar soon joined the onslaught.
Axar, coming in at number seven, raised his fifty in 20 balls with a six and Suryakumar also reached his half-century with a hit over the fence.
Mavi took on the bowlers after Suryakumar's departure but the asking rate got too much as Shanaka bowled the last over and dismissed Axar and then Mavi off the final ball.