Rohit Sharma celebrated his 100th T20 international appearance with a blistering 85 off 42 balls as India comfortably chased down 154 to beat Bangladesh in Rajkot, levelling the three-match series at 1-1 with one to play.
India had suffered a first-ever T20I loss to Bangladesh in Sunday's opening match in Delhi, but skipper Sharma's scintillating batting display - containing six sixes and as many fours - ensured a comfortable win in Thursday's second meeting.
After Sharma earlier won the toss and elected to insert the opposition, Bangladesh's top order had got them off to a strong start.
Liton Das (29 off 21) and Mohammad Naim (36 off 31) shared an opening stand of 60 in the opening seven and a bit overs, while Soumya Sarkar (30 off 20) kept up the momentum when Litton was run out.
The innings turned, however, when Yuzvendra Chahal (2-28) struck twice in the 13th over, first dismissing Bangladesh's match-winner from the series opener, Mushfiqur Rahim, for four and then adding Sarkar stumped.
Tigers captain Mahmudullah struck breezy 30 off 21 balls down the order, but Bangladesh's score of 153-6 proved to be well below par given their strong start.
Sharma - only the second player after Shoaib Malik (111) of Pakistan to play 100 T20 internationals - launched into the Bangladesh bowling attack on his way to a 23-ball fifty, adding 118 for the first wicket with Shikhar Dhawan, whose 31 off 27 deliveries looked laboured by comparison.
Sharma took a particular liking to offspinner Mosaddek Hossain, smashing three successive sixes in his only over of the innings which cost 21 runs, before Aminul Islam (2-29) ended the carnage as the Indian opener holed out in the deep.
That brought Shreyas Iyer to the crease, who quickly ended the contest with a brisk 24 not out from 13 balls, the hosts wrapping up victory with 4.2 overs to spare.
Nagpur hosts the third and final match of the series on Sunday, before the teams then meet in a two-Test series.