Arsenal scored twice late on to sink Hull City and set up an FA Cup semi-final against Chelsea at Wembley.
Nick Barmby's deflected shot gave Hull the lead after 13 minutes and they held their advantage for more than an hour.
Robin van Persie capped a sustained spell of Arsenal pressure when he slammed home Andrey Arshavin's pass from close range with 16 minutes left.
And Hull were left appealing in vain for offside as William Gallas headed in the winner after 84 minutes.
It ended a gallant fight by Hull and confirmed Arsenal's first visit to the new Wembley.
Phil Brown's side were thwarted just as it looked they might survive a second-half Arsenal onslaught and reach the last four of the FA Cup for the first time in 79 years.
Arsenal manager Arsene Wenger made six changes to the side that beat Blackburn 4-0 on Saturday - but gifted Russian playmaker Arshavin was fit to start, despite having stitches in a foot injury.
And the Gunners were shocked when veteran Barmby gave Hull an early lead.
He got on the end of Andy Dawson's pass and his effort took a crucial deflection off Johan Djourou and looped over goalkeeper Lukasz Fabianski, deputising for Manuel Almunia.
Hull posed the bigger danger in the opening exchanges, with Geovanni's free-kick turned over by Fabianski and Barmby having another goal ruled out for offside.
Kamil Zayatte then headed over from Peter Halmosi's cross as Arsenal struggled to turn possession into any concerted threat on goal.
Arsenal finally started to apply serious pressure as the interval approached, with Sam Ricketts blocking superbly from Arshavin.
And Hull were under the cosh at the start of the second half, with Abu Diaby heading wide from Arshavin's corner before Arsenal's £15m new boy was again denied by Ricketts.
Dawson then smuggled Van Persie's header off the line, with Alex Song shooting just wide from the rebound.
Song was replaced by Nicklas Bendtner after 64 minutes, while Samir Nasri came on for Carlos Vela.
Van Persie then led an assault on the Hull goal, which led to him finally breaking their resistance and giving Arsenal a deserved equaliser.
He saw a free-kick well saved by keeper Boaz Myhill and struck the bar with a header before Arshavin showed great composure in the area to set him up for a powerful finish from close-range.
Hull almost regained the lead immediately, Geovanni shooting just wide after a moment of hesitation from Djourou.
But it was Arsenal who had the momentum and it took yet another heroic intervention from Ricketts to deflect Bendtner's shot to safety.
The transformation was complete late on when Arsenal took the lead in questionable circumstances, although Myhill must also take some responsibility.
The keeper failed to collect Nasri's lofted free-kick into the box but Gallas looked to be in an offside position when he headed home from three yards.
Hull threw everything forward in a bid to restore equality but Arsenal survived in comfort to reach the last four.
Arsenal: Fabianski, Sagna, Gallas, Djourou, Gibbs, Walcott (Eboue 82), Song Billong (Bendtner 64), Diaby, Vela (Nasri 64), Van Persie, Arshavin.
Subs Not Used: Mannone, Toure, Denilson, Silvestre.
Booked: Gallas, Nasri.
Goals: Van Persie 74, Gallas 84.
Hull: Myhill, Ricketts, Gardner, Zayatte, Dawson, Ashbee (Hughes 46), Barmby (France 76), Geovanni, Fagan, Manucho, Halmosi (Mendy 67).
Subs Not Used: Duke, Garcia, Folan, Featherstone.
Booked: Halmosi, Myhill, Dawson, France, Manucho.
Goals: Barmby 13.
Ref: Mike Riley (Yorkshire).