Australia edged toward a dominant victory and a series whitewash on Sunday after leaving Pakistan wobbling at 39 for three in their second innings on day three, still 248 runs short of making the hosts bat again in the second test.
Opener Shan Masood was 14 not out, with Asad Shafiq on eight when rain brought stumps early in the day-night test at a floodlit Adelaide Oval.
After bowling Pakistan out for 302 before dinner, Australia enforced the follow-on and Josh Hazlewood duly rewarded skipper Tim Paine with two early wickets, with Mitchell Starc chipping in one.
Hazlewood trapped opener Imam-ul-Haq lbw for a duck on the cusp of dinner and later returned to have Babar Azam caught behind for eight.
Starc, who took 6-66 in the first innings, grabbed his seventh wicket for the test by dismissing Pakistan captain Azhar Ali for nine, with Steve Smith diving for a fine catch in the slips.
Having thrashed Pakistan by an innings and five runs in the Brisbane opener, Australia appear well set to sweep the series 2-0 unless weather intervenes.
Anchored by a magnificent 335 by David Warner, the home side declared their first innings closed at a mammoth 589 for three on day two and then reduced Pakistan to 89 for six in the evening session.
Australia were made to work hard for the remaining wickets on day three as Yasir Shah dug in for an unlikely century.
The stocky legspinner was eventually caught in the deep for 113 but not before warming hearts from Peshawar to Karachi as he defiantly clung on to record his maiden test ton.
He batted superbly in partnerships with Azam and tailender Mohammad Abbas but was all nerves when on the brink of his hundred.
Stuck on 99 with Hazlewood steaming in, hearts were in mouths as he threw his bat at a fuller delivery, with the lofted shot sailing close to a man at mid-on.
It just evaded the outstretched hand of a back-tracking Pat Cummins, allowing the 33-year-old to scamper through for a single.
Yasir, whose previous high score in tests was 42, gave David Warner a run for his money with his exuberant celebrations as he knelt down to touch his forehead to the turf before rising to brandish his bat like a sword.
Following a 104 in the Brisbane test, Azam missed out on a second consecutive century, falling for 97 when he tried to blast Mitchell Starc through the covers.
A fired-up Cummins ended Yasir and Abbas's brave ninth wicket rearguard at 87 runs with a brute of a short ball that pinged off Abbas's glove and went to Warner at gully.
Starc earlier dismissed Azam and Shaheen Afridi in consecutive balls before Abbas survived the fierce hat-trick ball.
Australia's hopes of rattling through the tail were hurt by a sloppy day in the field.
Part-time legspinner Marnus Labuschagne put down a simple caught and bowled chance to reprieve Yasir on 43 and dropped him again on 106 when fielding at short leg.
But Paine's team strode off the sodden Adelaide Oval turf satisfied with their work, with the luxury of time to knock off the seven wickets for victory.