A maiden ODI century for Mehidy Hasan Miraz helped Bangladesh secure a dramatic five-run win over India that sealed a series victory despite the best efforts of injured captain Rohit Sharma.
Miraz (100 not out) and Mohammad Mahmudullah (77) combined for a crucial stand of 148 as hosts Bangladesh dug themselves out of a hole to recover from 69-6 and set India a target of 272 that they came so close to achieving in unlikely circumstances.
Rohit, despite coming off injured during the Bangladesh innings and requiring an x-ray on his thumb, came out to bat at number nine despite being in visible pain while the tourists' hopes were looking slim.
But he smashed five maximums as part of a rapid 51no from 28 balls to give his side a chance.
Needing 12 from the final two balls, Rohit hit the required six on the penultimate ball but could not repeat his feat with the final delivery of the day as Bangladesh clung on to delight a packed home crowd at Sher-E-Bangla National Cricket Stadium.
Miraz and Mahmudullah steadied the ship after a dreadful start for Bangladesh, before Nasum Ahmed (18no) kept the charge going with two fours and a six to help the home side to a competitive total at 271-7.
India were also slow to get going with the bat, Virat Kohli (5) opening in Rohit's initial absence, as he and Shikhar Dhawan (8) were dismissed with just 13 on the board, though Shreyas Iyer got India back on track with 82 runs in a key 102-ball knock.
Axar Patel (56) provided some big shots and vital support, but when Miraz removed Iyer lbw to halt the productive duo's partnership at 107, India's hopes then looked bleak when Axar was swiftly dismissed soon after by the impressive Ebadot Hossain (3-45).
It looked like game over when Mahmudullah bowled a maiden to a struggling Rohit to leave India needing 40 runs from the last two overs.
But Rohit came agonisingly close to securing victory in a dramatic conclusion, rapidly firing three sixes and two fours to leave India needing a six from the final ball, but bowler Mustafizur Rahman (1-43) held his nerve as Bangladesh claimed an unassailable 2-0 series lead ahead of the final match on Saturday.
Rohit shines for India
Despite a thumb injury that was clearly hindering him, Rohit was superb for India as he somehow got them back in the hunt from what looked like an impossible equation at 213-8 in the 46th over.
Rohit confirmed after the match that he would miss the third encounter due to the injury, after KL Rahul skippered India while his issue was assessed for most of the Bangladesh innings.
Marvellous Miraz
Miraz played a crucial role in both halves of the win for Bangladesh, breaking the three-figure mark for the first time at ODI level – his century coming from just 83 balls, with 12 boundaries that included four maximums.
He is only the second batter to score an ODI century after coming in at number eight or lower, after Simi Singh.
The all-rounder was also key with the ball, taking the key wickets of KL Rahul and Iyer while also taking the catch that removed Dhawan early on.