Liverpool set up another Champions League semi-final with Chelsea after a stunning late win over Arsenal.
Abou Diaby put Arsenal into an early lead but Sami Hyypia lost Phillipe Senderos to head an equaliser.
Fernando Torres looked to have settled it when he scored in the top corner, but a superb Theo Walcott run allowed Emmanuel Adebayor to tap in for Arsenal
But Kolo Toure fouled Ryan Babel and Gerrard held his nerve from the spot, before Babel broke to add a fourth.
It was an extraordinary end to yet another wonderful European tie at Anfield.
The two sides, who have faced each other three times in six days, saved their best for last in a game that was full of drama from start to finish.
Both teams played as if their season was on the line and it resulted in a pulsating cup tie.
Arsenal looked like they had a new lease of life from the side that started the 1-1 draw so lethargically at the weekend and it was little surprise when they went in front through Diaby, on his return to the side.
He burst into the box to get on the end of Hleb's pass and drove in a low shot that Pepe Reina could only help into the net.
The goal seemed to energise Arsenal further and it was Liverpool who were beginning to look jaded.
But the Gunners were made to pay after half an hour when Senderos was caught flat footed and Hyypia had the freedom of the Anfield penalty box to head past Cesc Fabregas and in off the post.
It was Liverpool's turn to have the upper hand and the home side eventually pressed home their dominance midway through the second half.
Rafa Benitez's decision to partner Peter Crouch with Torres had looked like a tactical blunder in the early stages, but it was a pairing that was to combine for their second goal.
Crouch's flick was latched onto by Torres, who turned and shot in an instant to send the Kop into delirium.
Adebayor was just off target with a desperate lunge from Emmanuel Eboue's cross but Arsenal looked increasingly on the ropes.
However, Walcott's introduction revitalised the Gunners, as he beat six Liverpool defenders during a magical run from inside his own half before squaring for Adebayor to sidefoot home.
Liverpool are nothing if not resilient though, and immediately went down the other end where substitute Babel was adjudged to have been brought down by Toure.
Gerrard made no mistake from the spot, firing into the top corner with just four minutes left on the clock.
An Arsenal response at that stage would have been enough to send them through on away goals.
But as they threw men forward Babel raced clear to slot home a fourth - and perhaps ease the pain of a contentious penalty decision.
It was a cruel exit for Arsenal but there was no denying it was Liverpool's night.
They will face Chelsea in the final four for the third time in four years when the two sides meet on the week beginning 21 April and 28 April.
Liverpool: Reina, Carragher, Skrtel, Hyypia, Aurelio, Gerrard, Alonso, Mascherano, Kuyt (Arbeloa 90), Torres (Riise 87), Crouch (Babel 78).Subs Not Used: Itandje, Voronin, Benayoun, Lucas.
Goals: Hyypia 30, Torres 69, Gerrard 86 pen, Babel 90.
Arsenal: Almunia, Toure, Gallas, Senderos, Clichy, Eboue (Walcott 72), Flamini (Silva 42), Fabregas, Diaby (Van Persie 72), Hleb, Adebayor.Subs Not Used: Lehmann, Song Billong, Bendtner, Justin Hoyte.
Booked: Senderos, Toure.
Goals: Diaby 13, Adebayor 84.
Ref: Peter Frojdfeldt (Sweden).