(CNN) -- Alastair Cook continued his run-scoring spree but an Australian fight back left the final Ashes Test in Sydney in the balance after an intriguing second day.
Cook went past 600 runs in the series and 5,000 runs in his Test career as England closed on 167 for three wickets in reply to Australia's 280.
Cook and captain Andrew Strauss compiled a quickfire 98-run opening stand against indifferent Australian bowling.
But Strauss was bowled by Ben Hilfenhaus for 60 and Mitchell Johnson removed Jonathan Trott for a duck and Kevin Pietersen for 36 to lift the home side.
Debutant left-arm spinner Michael Beer should have had the prize scalp of Cook for his first Test wicket as the opener was caught by Hilfenhaus after a mistimed shot.
But umpire Billy Bowden called for a TV review which revealed the unfortunate Beer had overstepped the line in his delivery stride and bowled a no ball.
Beer achieved some measure of redemption when he caught the dangerous Pietersen in the deep off a top-edged hook, leaving nightwatchman James Anderson and Cook (61 not out) to battle to the close.
Earlier, Johnson, who performed similar heroics in Australia's sole win of the series in Perth, scored a belligerent 53 to haul the home side to respectability.
Australia were 189 for eight wickets before the Johnson and fellow paceman Hilfenhaus combined in a 76-run stand.
Johnson eventually became Tim Bresnan's third victim and Anderson dismissed Hilfenhaus for 34 to lead the England bowling with four wickets for 66.
At the start of the day, Anderson claimed the wickets of Brad Haddin, Steve Smith and Peter Siddle, while Paul Collingwood removed Australia's leading run-scorer in the series, Mike Hussey, for 33 to leave Michael Clarke's team in deep trouble.
England lead the series 2-1 and have retained the Ashes after their victory in Melbourne but are looking to repeat their win over Australia at the SCG in 2003.