Paceman Steven Finn's five-wicket haul put England on the brink of a 2-1 Ashes series lead over Australia on Thursday with the tourists facing a desperate battle to avoid a humiliating third Test defeat.
Australia hold a lead of 23 with three wickets remaining and three days to play after Finn, recalled after a two-year absence during which his shattered confidence and bowling action were restored, ran amok.
After capitulating to 136 all out on Wednesday and then facing a deficit of 145 after England made 281, Australia had no answer to Finn's pace, bounce and movement at a raucous Edgbaston.
He followed up his two wickets in the first innings with figures of 5-45 from 13 excellent overs as only a defiant 77 from David Warner and an unbeaten 37 from Peter Nevill held up England's victory bid inside two days as Australia closed on 168-7.
Australia's fragility was ruthlessly exposed by Finn after Chris Rogers (6) was trapped lbw to Stuart Broad.
Finn repeated his feat of the first innings by snaring Steve Smith and Michael Clarke in a superb spell either side of tea.
Smith perished for eight when he top-edged to wicketkeeper Jos Buttler and Finn had his tail up again immediately after the interval.
Australia captain's Clarke's poor run continued when he edged Finn to Adam Lyth at fourth slip and Edgbaston went wild again moments later when the paceman dug another short one into Adam Voges who fended straight to Ian Bell.
Mitchell Marsh saw off the hat-trick ball, allowing it to pass by off stump, but had made just five when his bails were sent flying by the towering Finn.
A pugnacious Warner still carried the fight, equalling the fastest half-century by either side in an Ashes Test -- emulating the 35 balls compatriot Graham Yallop took in 1981 -- but the opener fell to James Anderson, who later went off with a suspected side strain.
Warner made 77, his 17th Test fifty. His 62-ball innings was inclusive of 11 hits to the fence.
Earlier England established a decent lead (145), despite losing their last three wickets for four runs, after an entertaining eighth-wicket stand of 87 between Moeen Ali and Broad. The pair added quick runs after lunch, Moeen again showing how valuable he is coming in at number eight.
All at sea against his spinning counterpart Nathan Lyon before the interval, he smashed Mitchell Johnson for six boundaries including three in one over.
But after Broad (31) skied Josh Hazlewood to mid-on, Moeen quickly followed and the innings ended tamely.
A hostile Johnson had begun the second morning on fire, taking his 300th and 301st Test wickets in a rip-snorting second over of the morning, dismissing Jonny Bairstow and Ben Stokes.
Johnson steamed in and directed a bouncer that was homing in on Bairstow's throat, the startled batsman fending it off with his glove to be caught behind.
Two balls later Stokes also got a taste of 'chin-music', unable to get out of the way of another thunderbolt and falling in the same fashion.
Joe Root kept his cool to compile 63 while Hazlewood and Lyon took three wickets apiece for Australia.
The five-Test series is level at 1-1 after England won in Cardiff and Australia hit back in the second match at Lord's.