
Bangladesh resumed the fourth day in a commanding position after Australia began on 161 for four. The hosts added 123 runs but suffered a late collapse, losing their final six wickets for the same number of runs.
Mehidy Hasan Miraz led Bangladesh's bowling attack with five wickets in the innings, while Hasan Mahmud claimed three to finish the match with nine wickets.
Cameron Green top-scored for Australia with 87 before Hasan Mahmud dismissed him as the ninth wicket with the score on 278. Miraz had earlier removed Alex Carey for 49, Beau Webster for 15 and Pat Cummins for 14, after dismissing Steven Smith for 44 on Saturday. He then trapped Nathan Lyon lbw for 15 to wrap up Australia's innings at 284.
Australia had been bowled out for 198 in the first innings before Bangladesh piled up 426, securing a commanding 228-run lead.
Tanzid Hasan marked the occasion with his maiden Test century, while Najmul Hossain Shanto scored 84 and Miraz added 65.
Hasan Mahmud had taken six wickets in Australia's first innings and three in the second, while Taskin Ahmed claimed the other wicket.
Set just 57 for victory, Bangladesh completed the chase without serious trouble to seal their first-ever Test win on Australian soil.
The victory was only Bangladesh's ninth Test win away from home in 77 matches and just their second against Australia. It was also their first victory over Australia in Australia, marking one of the most significant results in the country's Test cricket history.