Jonathan Trott made a patient half-century to help England recover from two quick blows and reach 171 for three in reply to Bangladesh's 419 on the second day of the second test today.
Trott faced 187 balls for his unbeaten 64 and will resume with Ian Bell (25 not out) on the third day with England still trailing the hosts by 248 runs on first innings.
They added 64 runs after Bangladesh made two massive breakthroughs in successive overs by removing Kevin Pietersen and Paul Collingwood.
Pietersen (45) was undone by a short quick delivery from Shakib al Hasan which he spooned to Imrul Kayes at short cover and Rubel Hossain had Collingwood lbw for a duck with a hint of reverse swing to leave England stuttering on 107 for three.
"I wouldn't say we're evens. I think Bangladesh showed a lot of fight and courage this morning, batted really well to get 420," Pietersen told reporters.
"We are a batsman down so we have definitely got a fight on our hands but I thought Trotty played brilliantly this afternoon and Belly looks in pretty good nick.
"We've got some work to do tomorrow, first session tomorrow is a big session, to make sure we don't lose any wickets but to make sure the scoreboard keeps ticking. It's pretty difficult to score runs," he said.
England had already lost skipper Alastair Cook, who was caught by Kayes off Abdur Razzak at midwicket for 21.
Bangladesh wasted a chance to dismiss Trott when Jahirul Islam dropped him at forward short-leg off Shakib when the opener was on 13.
Shakib was the most economical bowler in the Bangladesh attack, conceding only 26 runs in 24 overs.
Earlier, tail-enders Naeem Islam and Shafiul Islam scored maiden half-centuries to frustrate the tourists as the hosts battled to their highest ever test total against England.
Bangladesh resumed on 330 for eight and batted for more than 24 overs in the morning session to add 89 runs.
It was Bangladesh's third highest total against any side, behind the 488 against Zimbabwe at Chittagong in 2005 and 427 against Australia at Fatullah in 2006.
Off-spinner Graeme Swann claimed the last wicket shortly before lunch when he trapped Rubel Hossain lbw for 17 to finish with figures of four for 114.
Naeem added 26 runs to his overnight total to remain unbeaten on 59 after facing 172 balls and hitting eight fours.
Shafiul raced to his first test fifty off 47 balls before falling to seamer Tim Bresnan for 53, ending a ninth-wicket stand of 74.
"They (England fielders) were saying me to hit sixes. But Naeem was discouraging me to go the aerial route because if I hit in the air in this kind of wicket that's a problem," said Shafiul.
"We are now in a very good position. If we had taken one or two more wickets, that would have been really good for us. But we fulfilled our target," he added.
England lead the two-match series 1-0.Reuse content