India beat Bangladesh by one run. Getty

India have kept their World T20 hopes alive with a thrilling one-run victory over Bangladesh at the ICC T20 World Cup.

Bangladesh entered the final over needing just 11 runs and closed that gap with a single and two huge fours from the first three balls. Needing just two more runs, both Mushfiqur Rahim and Mohammed Mahmudullah went for glamour shots to try and secure the win in style but were made to pay as Ravindra Jadeja and Ravindra Jadeja made crucial catches.

With the final ball, Mustafizur Rahman raced down the wicket to secure what would have been enough to tie the contest, only to be run out by India captain MS Dhoni off Hardik Pandya's delivery.

India posted 146 after a disappointing innings where Virat Kohli, the man who inspired the win over Pakistan, went for just 24. Only Suresh Raina (30) bettered that haul as the favourites left themselves with a huge amount to do with the ball.

Tamin Iqbal (35) led the Bangladesh charge and two big sixes from Shakib Al Hasan helped the underdogs close in one what would have been their first ever victory over India.

Needing just two from three balls in that thrilling final over, Jadeja and Dhawan made those catches to dismiss an adrenaline-fuelled Mahmudullah and Rahim. While Bangladesh panicked, India skipper Dhoni kept his cool to sprint back to the stumps to deny Mustafizur Rahman the run that would have forced a super-over.

The hosts lost their opening match to New Zealand before roaring back against Pakistan on Saturday 19. After securing their second win of the competition, India have climbed into second place in Group 2, although third-placed Australia still have a game in hand.

India meet Australia on Sunday.