Tamim Iqbal launched an audacious assault on the England bowlers on Sunday during a glorious Bangladesh counter-attack on the fourth day of the first Test at Lord's.
Tamim contributed 103 from 100 balls to a Bangladesh record first wicket partnership of 185 with Imrul Kayes (75) after his team had been asked to follow on.
Junaid Siddique and Jahurul Islam (46) consolidated with a composed third-wicket partnership of exactly 100 which enabled the visitors to reach 328 for five at the close, a lead of 105 with a day's play remaining.
England should still wrap up the match comfortably on Monday but Bangladesh have proved thoroughly worthy opponents five years after losing their only other Test at Lord's by an innings and 261 runs within three days.
They have won just three of their previous 66 Tests against weakened Zimbabwe and West Indies' sides and lost all six against England.
Tamim reached his century from 94 balls, the fastest in Tests by any Bangladesh batsman and the quickest at Lord's since Indian Mohammad Azharuddin's 87-ball hundred in 1990.
He was particularly severe on off-spinner Graeme Swann, England's best bowler over the past two years, slog-sweeping two sixes and cover-driving a four from one over.
Inevitably with such an attacking approach, Tamim rode his luck, missing completely with several full-blooded drives. But much of his shot-making was of the highest class, including a spectacular pull off one leg to record a third consecutive boundary off Steven Finn.
Kayes edged a James Anderson delivery between Swann's hands after scoring 30 and was stalled for 15 balls on 49 before sweeping a four to reach his first Test half-century.
He continued to play with great determination, belying a Test average of 13.81, while Siddique, the top-scorer in the first innings with 58, batted with similar application.
With Swann struggling for once to make an impact, England's four-man attack looked threadbare and Middlesex fast bowler Finn was again the pick.
He dismissed both openers in the space of 14 balls after failing to take the one wicket during Bangladesh's first innings in the morning session which would have given him five in an innings on his Lord's debut.
Instead, Anderson wrapped up the Bangladesh innings for 282 within the opening hour, clean-bowling two of his victims to finish with four for 78.
Anderson had to wait until near the end of the day for his next wicket, inducing Mohammad Ashraful (21) to nick a catch behind with the final ball of the first over with the second new ball. Tim Bresnan then bowled nightwatchman Shahadat Hossain for no score.
England (1st innings): 505
Bangladesh (1st innings): (overnight 237-7)
Tamim Iqbal run out 55
Imrul Kayes c Strauss b Finn 43
Junaid Siddique c Prior b Finn 58
Jahurul Islam c Prior b Anderson 20
Mohammad Ashraful lbw b Finn 4
Shakib Al Hasan c Strauss b Anderson 25
Mushfiqur Rahim b Finn 16
Mahmudullah b Anderson 17
Shahadat Hossain b Anderson 20
Rubel Hossain c Cook b Bresnan 9
Robiul Islam not out 9
Extras: (lb-2, w-3, nb-1) 6
Total: (all out; 93 overs) 282
Fall of wickets: 1-88, 2-134, 3-179, 4-185, 5-191, 6-221, 7-234, 8-255, 9-266, 10-282.
Bowling: Anderson 31-6-78-4 (1w), Bresnan 24-5-76-1 (2w), Finn 25-5-100-4 (1nb), Swann 11-6-19-0, Trott 2-0-7-0
Bangladesh (2nd innings):
Tamim Iqbal c Trott b Finn 103
Imrul Kayes c Bell b Finn 75
Junaid Siddique not out 66
Jahurul Islam c&b Trott 46
Mohammad Ashraful c Prior b Anderson 21
Shahadat Hossain b Bresnan 0
Shakib Al Hasan not out 2
Extras: (1nb, 2w, 8lb) 15
Total: (five wickets; 85 overs) 328
Fall of wickets: 1-185, 2-189, 3-289, 4-321, 5-322.
Bowling: Anderson 20-6-66-1, Bresnan 20-5-88-1, Finn 16-4-66-2, Swann 25-4-80-0, Trott 4-0-16-1.
Still to bat: Rahim, Mahmudullah, Shahadat, Robiul, Rubel.