England took nine Bangladesh wickets for 59 runs to bowl out their opponents for 220 on an entertaining opening day of the second Test.
On a mixed day for the hosts, Tamim Iqbal made his third century against England as he helped to pile on 170 runs alongside Mominul Haque (66).
Imrul Kayes (1) had earlier been lost in just the third over, with Moeen Ali taking 5-57 and Ben Stokes 2-13 - including a run of nine wickets from 22 overs - to end Bangladesh's first innings.
England themselves lost three wickets in quick succession, though, as they ended on 50-3 when rain brought an early close to play in Dhaka.
Ben Duckett started the England response, taking an aggressive approach but being caught down the leg-side for seven runs, while captain Alastair Cook went for 14 when also being dismissed by youngster Mehedi Hasan.
That came after a review confirmed that the ball hit Cook in line on the back foot, and from that Bangladesh also brought an end to Gary Ballance's (9) batting as he went on single figures for the third time in succession.
Ali (2) and Joe Root (15) looked to drag their side closer to the Tigers' tally, but bad weather brought a halt to play at just about the right time for England.