England bowled Bangladesh for 296, before finishing day three on 131-5 to lead the first Test by 434 runs with two days remaining.
It could have been a lot more comfortable for Alastair Cook's men on day three in Chittagong when Tamim Iqbal fell for 86.
However the Tigers responded well with Naeem Islam and Mushfiqur Rahim putting on 113 for the eighth wicket.
Graeme Swann, who ended with figures of 5-90, finally ran through the tail to end the resistance and left the hosts on 296 - giving England a massive lead of 303.
England opted not to enforce the follow on in order to give the bowlers a well-earned rest and went into bat for their second innings.
Captain Cook fell on the boundary for 39 attempting to push on while Jonathan Trott did little to impress before being caught at midwicket on 14.
Kevin Pietersen quickly reached 32 before he was trapped in front by the left-arm spin of Shakib Al Hasab while Abdur Razzak dismissed Michael Carberry (34) in the same manner.
Paul Collingwood was the fifth wicket to go in England's second innings but they already have a sufficient lead to ensure a comfortable win.