Spinners Shane Warne and Stuart MacGill took six wickets on the fifth morning to bundle out the hosts for 304 in their second innings.
Warne completed his 36th five-wicket haul in tests with figures of five for 113 and MacGill took four for 95.
The visitors declared their first innings on 581 for four, a lead of 384, following nightwatchman Jason Gillespie's record-breaking innings of 201 not out.
Bangladesh were struggling to make Australia bat again after reaching 195 for four at the close of play yesterday.
The hosts added only 109 runs in 26.2 overs on the final day while Mohammad Rafique (65) made his fourth test fifty. Australia had won the first test by three wickets.