The hosts wrapped up England's innings early on in the day for 293 but before lunch, they were reduced to 29-2 in reply.
Tamim Iqbal though lead the resistance hitting 78 alongside Mushfiqur Rahim, who made 48 to leave the game evenly poised after two intriguing days play.
After an even first day yesterday, all eyes were on England to see if they could push their score past 300 on a very tricky pitch.
Unfortunately, though they fell just short as they were bowled out for 293 in their first innings.
Hosts bowl England out for 293
Beginning the day on 258-7 with Chris Woakes 36 not out, the hosts took a wicket with the first ball of the day.
Taijul Islam removed Woakes for 36 which gave the Tigers the perfect start to the morning session.
That wicket brought Stuart Broad to the crease to join Adil Rashid and the pair put on 31 for the ninth wicket before Taijul removed Rashid for 26.
Mehedi Hasan, who took five wickets yesterday, returned to the bowling attack and removed Broad for 13 to finish with figures of 6-80 on his debut.
By bowling England out quite early in the morning session, it meant the hosts had to bat for a tricky spell before lunch.
Just as it looked like they were going to go to interval without losing a wicket, Moeen Ali took two wickets in an over to bring England back into the contest.
Ali takes two quick wickets to bring England back into the game
Firstly he removed Imrul Kayes for 21 before getting Mominul Haque for a third-ball duck to leave the hosts on 29-2 at lunch.
After lunch, Mahmudullah joined Tamim at the crease as the pair went about building a solid foundation for the team.
Both batsmen were looking solid as they took their partnership past 50 while Tamim also brought up his half-century.
Just as it looked like being a perfect session for the hosts, Rashid struck with the final ball of the session as he removed Mahmudullah for 38 to leave the hosts on 119-3 at tea.
Tamim and Mushfiqur take hosts past 200 but both fell before the end of the day's play
Resuming after tea, all eyes were on Tamim to see if he get to his century.
He was now joined at the crease by his captain Mushfiqur and the pair looked comfortable before Tamim fell for 78 of the bowling of Gareth Batty to leave the score on 163-4.
This brought the experienced Shakib Al Hasan to the crease to join Mushfiqur as the pair looked to put together a strong partnership to get up close to England's score.
The pair took their partnership past fifty and looked like they were going to see out the day without losing any more wickets until Ben Stokes struck late on to remove Mushfiqur for 48 before the end of the day.
It meant that at stumps Bangladesh finished on 221-5, 72 runs behind England with Shakib 31 not out.