Openers Andrew Strauss and Alastair Cook both posted centuries on Sunday to wipe out England's first innings deficit and give the tourists the chance of a draw in the first Ashes Test against Australia.
Starting the fourth day of the Test 202 runs in arrears, England had reached 309-1 with a lead of 88 at the close of play with Cook unbeaten on 132 and Jonathan Trott (54) at the crease.
Although they could not match the heights of Mike Hussey and Brad Haddin's partnership of 307 that put Australia in charge on the third day, Strauss and Cook's opening stand of 188 could end up being just as important at the end of the five-test series.
England captain Strauss was removed for a duck in the third ball of the first innings but seized his chance in the second to claim his 19th test century -- his first for 16 months -- soon after lunch with a cut down to third man for four.
Cook had scored more slowly but given fewer chances than his skipper and clinched his 14th test century, only his second against Australia, with a cut shot that sent the ball fizzing to the boundary just after tea to add to his first innings 67.
By that stage England's best partnership in a Test at the Gabba had been broken, but Strauss was left furious with himself after coming down the wicket to occasional spinner Marcus North only to be stumped for 110 by wicketkeeper Haddin.
Cook was joined by Trott, who rode his luck a little with some loose shots but put on 121 for the second wicket, as Australian heads dropped after a long, hard day in the field.
Questions will be asked about the Australian paceman, in particular Mitchell Johnson, who failed to get anything out of the Gabba strip and remains wicketless in the test at the cost of 131 runs.
Australia's misery was compounded by three missed catches, Johnson dropping Strauss when the England captain was on 70 and Peter Siddle and Michael Clarke spilling two more difficult chances to dismiss Trott.
Even the umpire referral system, which saved Hussey's innings early on Saturday, went against the hosts when umpire Aleem Dar's refusal of Ben Hilfenhaus's appeal for lbw against Trott was upheld after the review of the TV footage.
England, who hold the Ashes after a victory on home soil last year, are looking to win a Test series in Australia for the first time in 24 years.
Play was abandoned early because of bad light and will begin 15 minutes early at 09:45 local time (2345 GMT) on Monday.