Seamers Peter Siddle and Stuart Clark sliced through the England batting order to dismiss the hosts for 102, their lowest total in an Ashes test at Headingley for 100 years.
Shane Watson and Ricky Ponting shared a quickfire second-wicket partnership of 119 and the touring side ended the day on 196 for four, a lead of 94 runs as they bid to level the series.
"We just relaxed a bit today and were a bit more patient and a bit more consistent with our lines," Clark told a news conference. "We are well ahead in the game now but we know there are still four days to go."
Michael Clarke was unbeaten on 34 at the close with Marcus North on seven.
England's day started badly when all-rounder Andrew Flintoff was ruled out through injury but their captain Andrew Strauss won the toss.
He survived a huge shout for lbw to the first ball of the match but lasted only 17 balls and scored three runs before edging Siddle to third slip where North took a brilliant one-handed catch.
Ravi Bopara made one before he tamely prodded Ben Hilfenhaus to Michael Hussey at gully and Ian Bell, on eight, failed to avoid a short ball from Mitchell Johnson and gave wicketkeeper Brad Haddin a simple catch.
Paul Collingwood edged a vintage Clark outswinger straight to Ponting at second slip for a duck and Alastair Cook's resistance ended on 30 when he edged Clark to Clarke at first slip.
Stuart Broad was caught at short mid-wicket by Simon Katich off Clark for three to leave England reeling on 72 for six at lunch.
PROCESSION CONTINUED
The procession continued as Graeme Swann, Steve Harmison, James Anderson and Graham Onions fell in quick succession to Siddle, who finished with test-best figures of five for 21.
Clark took three for 18 and Matt Prior top-scored for England with 37 not out.
Watson smashed the first two balls of Australia's innings for four but the touring side lost Katich for nought when he fended a rising Harmison delivery to Bopara at leg gully.
Ponting batted aggressively from the start, pulling Onions's first ball for six and taking 17 off his opening over.
The Australian captain and Watson completed the first 50 partnership of the match off only 69 deliveries.
Watson had just reached his third successive half-century since being promoted to open when he was trapped lbw by Onions for 51.
Ponting moved on to 78 and looked on course for another test century but he misjudged a full delivery from Broad and was adjudged lbw.
Hussey also started well but he too was fooled by Broad's line and trapped lbw for 10.
Clarke was struck a fierce blow on the helmet by a Harmison bouncer but he and North grimly took Australia through to stumps without further loss.
"We've had a poor day but we have to take it on the chin," Prior said. "The guys are annoyed for today but raring to go again tomorrow."