Shakib lived up to his billing as the world's number- one Test all-rounder, finishing with a match haul of 10 wickets and making 84 in Bangladesh's first-innings total of 260.
But left-arm spinner Shakib brought Bangladesh back into the game, dismissing both Warner and Smith (37) to put pressure on the former number-one Test side.
Australia are currently ranked fourth to Bangladesh's lowly ninth.
Shakib's spin partner Taijul Islam chipped in with three wickets to cap a memorable day for the side dubbed the Tigers.
Pat Cummins hit a valiant 33 not out with three fours and two sixes in a late charge but failed to stop the inevitable.
The second Test will be held in Chittagong from September 4-8.