England were all out for 244 in their first innings for a lead of 24 runs over Bangladesh, bringing up tea on the second day of the second and final Test on Saturday.
Off-spinner Mehedi Hasan picked up six for 82 while left-armer Taijul Islam took three for 65 for the hosts, who trail 1-0 in the series.
England rode on their ninth-wicket partnership of 99 runs between Chris Woakes and Adil Rashid to overtake Bangladesh’s first inning total of 220.
Woakes was dismissed for 46 while Rashid remained not out on 44. Joe Root made 56 before he fell to Taijul.
England resumed on 50-3 on day-2 , were reduced to 163 for eight by teenage offie Mehedi Hasan Miraz who completed his second five-wicket haul in as many matches.
Umpires: Kumar Dharmasena (SRI) and Sundaram Ravi (IND)
TV umpire: Chris Gaffaney (NZL)
Match referee: Ranjan Madugalle (SRI)