Robin van Persie netted twice from the penalty spot as Arsenal came from two goals down to beat Aston Villa 3-2 at the Emirates Stadium and book their place in the FA Cup fifth round.
Richard Dunne and Darren Bent had put the visitors in command at the break but the Gunners were given a lifeline at the start of the second half when Dunne upended Aaron Ramsey, and Van Persie coolly dispatched the resulting spot-kick.
Within two minutes, Theo Walcott had levelled via a fortunate ricochet and then another penalty from their captain completed the turnaround to send Arsene Wenger's men through to the last 16 against Sunderland or Middlesbrough.
Arsenal - who had lost three successive Premier League games to lose ground on the top four - started quickly.
Thomas Vermaelen lashed a 25-yard strike goalwards after being set up from a free-kick by Van Persie, though Villa keeper Shay Given touched over.
On 13 minutes, Walcott collected Tomas Rosicky's pass and skipped into the Villa box, but could only blast his shot past the near post.
Despite being pegged back, Villa defended resolutely and looked dangerous on the break through Bent and Keane.
Gabriel Agbonlahor broke away for Villa down the near side, but then sent his cross too deep through the Arsenal penalty area.
It was no real surprise when the visitors took the lead on 33 minutes.
A well-worked corner saw Stiliyan Petrov's backheel release Keane, who floated the ball through the Arsenal six-yard box where Dunne got up above a static defence to power in a header.
Arsenal looked for an immediate response, with Given needing two attempts to gather a low shot from Rosicky.
Ramsey ghosted into from the left, and was blocked at the near post by Given.
The Villa stopper then beat away Oxlade-Chamberlain's low, 20-yard strike, before the visitors broke away to make it 2-0 just before half-time.
Stephen Ireland fed Bent and his angled drive was parried away by Lukasz Fabianski, but the England striker was first to the loose ball and slotted it in from the tightest of angles.
Arsenal had regrouped during the interval and were quickly back on the offensive as Per Mertesacker's header from a corner was cleared off the line by Ireland.
Another flowing Arsenal move opened up the Villa defence, but Ramsey stabbed his shot straight at the keeper.
The Gunners were awarded a penalty on 54 minutes Dunne upended Ramsey after he latched onto Alex Song's through-ball.
Van Persie made no mistake from the spot, sending Given the wrong way as he slotted into the bottom-left corner, to give the tie new life.
Within two minutes, Arsenal were level.
Walcott darted into the right side of the Villa penalty area and stabbed the ball across the goal-line, where Alan Hutton smashed his clearance back against the England forward and it ricocheted into the net.
The Emirates Stadium faithful, so critical of Wenger in last weekend's 2-1 defeat by Manchester United, were now in full voice as the home side continued to sweep forwards.
Laurent Koscielny burst down the left and into the edge of the Villa box, where he was caught from behind by Bent and again referee Mike Jones pointed to the spot.
Van Persie stepped up once more, this time putting the ball into the bottom right corner for goal number 25 of the season to complete the turnaround on the hour.
Villa were left stunned but to their credit, and roared on by a 5,000-strong travelling contingent, they looked to break quickly through Agbonlahor.
Walcott cut in from the right and Given had to be alert to beat away his angled drive, the rebound falling just behind Van Persie.
Petrov beat the offside trap, but his cutback was booted clear by Mertesacker.
Ciaran Clark glanced a header goalwards, which Fabianski held and the Gunners closed out the final 10 minutes to take their place in round five, faith in manager Wenger restored.
related stories on msn
Fraggle rock, the ref saw it and realised the Villa player was play acting.
Why did you not mention that Dunne should have been sent off ?
Typical anti-arsenal brigade.
Brighton, Stevenage, Crawley all in the FA Cup but no Man U .. How funny.