Shakib Al Hasan became only the fourth player to take five wickets against every Test nation as Bangladesh opened up an 88-run lead over Australia in Mirpur.
The left-arm spinner took four wickets on day two to complete the set, the dismissal of Josh Hazlewood seeing him join Rangana Herath, Muttiah Muralitharan and Dale Steyn in achieving the feat.
Shakib's display with the ball - in his 50th Test - was part of a fruitful day for the hosts as Australia continued to struggle on their travels, the tourists bowled out for 217 in spin-friendly conditions.
Steve Smith's side have only won one of their last seven away Tests and would have been even further behind than the 47-run first innings deficit had it not been for Ashton Agar (41 not out) and Pat Cummins (25).
The pair added a potentially vital 49 for the ninth wicket before Shakib tweaked his way into the record books.
Bangladesh then finished the day 45-1, increasing their advantage as they look to record a first win against Australia in six attempts.
-- ICC (@ICC) August 28, 2017
Having started Monday in a perilous position at 18-3, things quickly got worse for Australia as skipper Smith (8) misjudged the flight of a delivery from Mehedi Hasan (3-62) and was bowled through the gate.
A promising 69-run partnership between Peter Handscomb (33) and Matt Renshaw averted a top-order collapse, but when the former was trapped plumb in front it sparked a regular flow of wickets.
Renshaw's gritty 45 at number two came to an end as he misread an arm-ball from Shakib, while Matthew Wade (5) fared no better as Mehedi got in on the act.
Shakib then took centre stage as he lured Glenn Maxwell (23) down the track before turning the ball away, Mushfiqur Rahim having the simple task of completing the stumping.
Finally there was some Australian resistance as Agar and Cummins reduced their deficit to 67 at tea, however the break did them no good as Shakib removed the former - via an inside edge and pad - nine balls after the restart.
Hazlewood followed soon after giving Shakib his milestone (5-68), leaving Agar stranded on 41.
The turn and bounce continued to provide problems as Nathan Lyon (0-11) looked threatening at the start of the Tigers' second innings, but the spinner was out of luck when a delivery to Souyma Sarkar (15) rolled onto the stumps but failed to dislodge the bails.
Usman Khawaja ensured Sarkar was dismissed before the day's play was up, though, as he held onto a catch in the deep at the third attempt.