Spearhead Mitchell Starc led the Australian pace attack with three wickets Monday to put the visitors in the driving seat on day three of the second Test against Pakistan in Karachi.
The lanky left-armer used reverse swing to devastating effect, taking 3-29 as Pakistan were bundled out for a paltry 148 in reply to Australia's mammoth first innings of 556-9 declared.
Despite a big 408-run lead, Australia did not enforce the follow-on and at close were 81-1 in their second innings to take their lead to 489 with nine wickets intact.
Opener Usman Khawaja was unbeaten on 35 and Marnus Labuschagne 37 after David Warner fell to Hasan Ali for seven.
Australia have two full days to enforce a big win and take a 1-0 lead in the three-match series on their first tour of Pakistan for 24 years.
Pakistan's collapse in 53 overs was in complete contrast to Australia, who stayed out for 189 overs, plundering runs at ease.
Starc, who went wicketless in the drawn first Test in Rawalpindi last week, had Azhar Ali (14), Fawad Alam (nought) and Sajid Khan (five) out as Pakistan lost six wickets in the space of 62 runs after being 38-1 at lunch.
Debutant leg-spinner Mitchell Swepson finished with 2-32 including the wicket of Azam, who miscued a drive and was caught at long-off.
It all went wrong in the first over after lunch when Haq -- who scored twin centuries in the opening Test -- fell to a rash shot, lofting spinner Nathan Lyon to skipper Pat Cummins at mid-on.
Starc then had Azhar caught in the slips and next ball trapped Alam with a sharp in-dipping yorker. He almost had a hat-trick when Mohammad Rizwan was beaten neck and crop, but didn't edge.
Rizwan didn't last long, however, as he edged Cummins for wicketkeeper Alex Carey to take a simple catch on six, and next over Cameron Green trapped Faheem Ashraf leg before for four.
Starc then had Sajid caught behind, taking 3-24 in 10 incisive overs as wickets fell in a cluster, in contrast to Australia's run-spree on a low bounce National Cricket Stadium pitch.
Earlier, opener Abdullah Shafique was run out for 13 as Pakistan faltered at the start.
Shafique, who hit a brilliant unbeaten century in Rawalpindi, had made 13 of Pakistan's 26-run opening stand when he failed to beat Swepson's direct throw from point after being called for a sharp single.
Australia had resumed the third day on 505-8 as Cummins opted to bat on.
Pakistan struck with the second ball of the day when fast bowler Shaheen Shah Afridi had Starc caught at cover by Azhar without adding to his overnight 28.
But that was all the success they had as Cummins, who finished on 34 not out, added a brisk 51 for the ninth wicket with Swepson (15) before declaring.
All-rounder Ashraf was the pick of the attack with his 2-55 from 21 overs, while off-spinner Sajid Khan took 2-167 from 57 overs.
Pakistan vs Australia second Test scoreboard
Australia 1st innings (overnight 505-8)
D. Warner c Rizwan b Ashraf 36
Usman Khawaja b Sajid 160
M. Labuschagne run out 0
S. Smith c Ashraf b Hasan 72
N. Lyon b Ashraf 38
T. Head lbw b Sajid 23
C. Green b Nauman 28
A. Carey b Azam 93
M. Starc c Azhar b Shaheen 28
P. Cummins not out 34
M. Swepson not out 15
Extras (b10, lb7, nb7, w5) 29
Total (for nine wkts dec; 189 overs) 556
Fall of wickets: 1-82 (Warner), 2-91 (Labuschagne), 3-250 (Smith), 4-304 (Lyon), 5-347 (Head), 6-360 (Khawaja), 7-405 (Green), 8-503 (Carey), 9-505 (Starc)
Bowling: Shaheen 32-8-95-1 (nb4), Hasan 25-7-71-1 (nb2), Ashraf 21-4-55-2, Sajid 57-10-167-2 (w3), Nauman 48-6-134-1 (w2), Azam 4-0-7-1, Azhar 2-0-10-0 (nb1)
Pakistan 1st innings
Abdullah Shafique run out 13
Imam-ul-Haq c Cummins b Lyon 20
Azhar Ali c Green b Starc 14
Babar Azam c Khawaja b Swepson 36
Fawad Alam lbw b Starc 0
Mohammad Rizwan c Carey b Cummins 6
Faheem Ashraf lbw b Green 4
Sajid Khan c Carey b Starc 5
Hasan Ali run out 0
Nauman Ali not out 20
Shaheen Shah Afridi lbw b Swepson 19
Extras (b6, lb2, nb3) 11
Total (all out; 53 overs) 148
Fall of wickets: 1-26 (Shafique), 2-45 (Haq), 3-60 (Azhar), 4-60 (Alam), 5-76 (Rizwan), 6-81 (Ashraf), 7-97 (Sajid), 8-102 (Hasan), 9-118 (Azam), 10-148 (Shaheen)
Bowling: Starc 13-5-29-3 (nb2), Cummins 13-2-39-1, Lyon 9-5-13-1, Swepson 9-1-32-2, Green 8-1-23-1 (nb1), Labuschagne 1-0-4-0
Australia 2nd innings
Usman Khawaja not out 35
D. Warner c Alam b Hasan 7
M. Labuschagne not out 37
Extras: (b2) 2
Total (for one wkt; 17 overs) 81
Fall of
wickets: 1-20 (Warner)
Bowling: Shaheen 4-0-14-0, Hasan 4-0-14-1, Sajid 5-0-31-0, Ashraf 3-0-13-0, Nauman 1-0-7-0