Shreyas Iyer and R Ashwin held firm as India beat Bangladesh in a thrilling second Test on Sunday, dashing hopes in Dhaka of a first-ever win over their neighbours.

India needed just 145 to win the match and the series 2-0 but the visitors in the end won by only three wickets in a nail-biting morning’s play on day four in Dhaka.

BAN vs IND, 2nd Test: Reactions as India clinch Dhaka thriller – ‘Magnificent from Ashwin, Shreyas’

Bangladesh overcame India in the preceding 50-over series but have never beaten them in a Test. India had won 10 of the teams’ previous 12 Tests, including five victories by an innings.

India won the first Test comfortably by 188 runs in Chittagong and were widely expected to romp home in the second game, cementing their position in second place in the ICC World Test Championship.

ICC World Test Championships standing: India consolidate second spot after win in Mirpur

“I thought Bangladesh played really well,” said Ashwin after the game. “The game had to be won the hard way. In these situations, sometimes you feel you need to hit your way. They bowled well. But we needed to trust our defence. I wanted to get in and support Shreyas. Pitches were good though they were a touch slow.”

India bowled Bangladesh out on Saturday for a sub-par 231 but the home side’s spinners Mehidy Hasan and Shakib Al Hasan then reduced the visitors to 45/4 at stumps with 100 still to chase.

Shakib started the slide with the wicket of captain KL Rahul for two and then Mehidy claimed Cheteshwar Pujara, Shubman Gill and Virat Kohli a–ll for single-digit scores.

Bangladesh then reduced India to 74/7 when play resumed on Sunday but Shreyas (29 not out) and Ashwin (42 not out) put on 71 runs in an unbroken eighth-wicket stand to steer India home.

Mehidy was the stand-out bowler for Bangladesh in the second innings, finishing with 5/63, which included two wickets in the morning.

Bangladesh dominated play in the opening hour as Shakib dismissed nightwatchman Jaydev Unadkat, who hit a six in the opening over but fell in the next after making 13.

Mehidy then trapped danger man Rishabh Pant leg before for nine before he bowled unbeaten overnight batter Axar Patel for 34 runs.

Ashwin was dropped by Mominul Haque on one at forward short leg before he grew in confidence, with Iyer looking solid against spin at the other end.

After his three fours in two overs, Bangladesh were forced to finally bring pacers into the attack but to no avail.

Ashwin – named player of the match – took India close with a six after Mehidy changed his bowling end and wrapped up the contest with two more boundaries.

“(I’m) not going to lie, there was a lot of tension in the dressing room. It was a tough wicket to bat on, they put us under pressure in both innings,” said Rahul, who captained in place of injured Rohit Sharma.

“Today, Ashwin and Shreyas did it with ease and style. Well done to them to earn India the win. We never thought it’d be a cakewalk, thought we needed to grind and work hard for runs.

“It was tougher with the new ball. We lost more wickets than we’d have liked. We’ve made mistakes but will look to learn and hopefully put a better performance if a similar situation arises in the future. Happy with our bowling depth in the last six-seven years,” added Rahul.

Rock-solid Pujara was named player of the series, with the Sussex star making 222 runs in the series.

Inputs from AFP