Alexis Sanchez was the hero for Arsenal once again as the Gunners beat Manchester City 2-1 in extra-time to set up an FA Cup Final against London rivals Chelsea.
The Gunners came from behind to set up a London derby with Chelsea at Wembley on May 27 and easy some of the pressure on manager Arsene Wenger.
Manchester City went ahead through Sergio Aguero midway through the second half of normal time but Nacho Monreal equalised to force an additional 30 minutes.
Sanchez was the Arsenal hero when he fired home from two yards out to complete the comeback and send his side into the final.
Wenger had said the outcome of the match would have no bearing on his future but this result will ease the unrest among Arsenal fans until the final next month.
Arsenal are facing a fight to qualify for the Champions League but Wenger now has a chance to lift the FA Cup for the seventh time.
Arsenal have stressed the club and Wenger will make “mutual” decision on his future but it remains to be seen if winning a trophy will impact the 67-year-old’s decision to sign a new contract.
For now, Wenger can look forward to his eighth FA Cup Final as Arsenal manager.
Wenger stuck with a three-man defence and, while the gamble eventually paid off, Arsenal were on the back foot for much of the first half.
City head coach Pep Guardiola was furious when Gabriel escaped a booking following a tough tackle on David Silva that left the City midfielder needing treatment early on.
Arsenal had the ball in the net after 21 minutes when Laurent Koscielny shot home from a corner but the defender was correctly flagged offside.
City were dominating possession but they were dealt a blow when Silva, still feeling the effect of the early challenge from Gabriel, was forced off through injury. Raheem Sterling replaced him.
City were furious with referee Craig Pawson on 28 minutes when the official turned down appeals for a penalty after Aguero was tripped by Alex Oxlade-Chamberlain inside the box.
Replays suggested it was a let off for Arsenal and Pawson was under the spotlight again on 34 minutes when Koscielny clattered into the back of Aguero and was not booked.
Aguero needed lengthy treatment to his lower back but was able to continue.
Then came a moment of real controversy five minutes before half-time.
Leroy Sane stood up a cross from the left, Aguero had a shot that was stopped behind the line by Petr Cech before Sterling followed up to make sure.
City celebrated but the assistant referee flagged that the cross from Sane had gone out of play.
Replays showed the whole ball did not cross the line and the goal should have stood. But Arsenal survived.
Arsenal started the second half with more intent but they fell behind on 62 minutes.
City broke from an Arsenal corner, Yaya Toure clipped a ball over the top to send Aguero one-on-one with Cech and he lifted the ball over the onrushing Arsenal goalkeeper.
Arsenal looked to be heading for defeat but they levelled with 19 minutes remaining.
The impressive Oxlade-Chamberlain crossed brilliantly from the right and Monreal arrived at the back post to volley past Bravo wth his right foot.
The game then opened up during a frantic finale to normal time and Arsenal twice rode their luck when City hit the woodwork twice in five minutes.
First Cech produced a brilliant one-handed save to tip a goalbound Toure volley onto the post and then City captain Vincent Company crashed a header against the crossbar.
Wenger brought on Danny Welbeck and the substitute almost won it for Arsenal five minutes from time when he drove into the box and curled a shot wide from a tight angle.
But the game went into extra-time.
Arsenal should have gone ahead five minutes into the first half of extra time when Rob Holding had a free header from five yards out but he headed onto the roof of the net.
But Sanchez won it for Arsenal after 100 minutes of football. City failed to clear a free-kick into the box and Sanchez reacted quickest to fire home from two yards.
Welbeck should have put the game out of the sight but headed wide from close range.
Substitute Fabian Delph and then Toure went close to an equaliser for City but Arsenal held on.