Chelsea beat Eintracht Frankfurt 4-3 on penalties to progress to the Europa League final after the two sides were locked together 2-2 on aggregate following extra time on Thursday night.
Ruben Loftus-Cheek had given Chelsea a 28th-minute lead with a well-taken goal, the England midfielder's 10th of the season, four of which have come in this competition.
However, in-form forward Luka Jovic drew the visitors level four minutes into the second half with his 27th strike of the campaign, before the semi-final, second leg went to penalties.
Chelsea: Arrizabalaga (8), Christensen (6), Azpilicueta (6), Luiz (7), Emerson (6), Jorginho (6), Loftus-Cheek (8), Kovacic (6), Hazard (8), Giroud (6), Willian (6)
Subs: Barkley (8), Higuain (6), Pedro (6), Zappacosta (7)
Frankfurt: Trapp (6), Falette (7), Hinteregger (6), Abraham (6), Kostic (7), Rode (7), Hasebe (6), Da Costa (7), Rebic (7), Jovic (7), Gacinovic (7)
Subs: De Guzman (6), Haller (6), Paciencia (6)
Man of the match: Ruben Loftus-Cheek
And despite Cesar Azpilicueta seeing his spot kick saved by Kevin Trapp, Kepa Arrizabalaga then kept out two Frankfurt penalties to be his side's hero in the shootout, before Eden Hazard coolly rolled home the final penalty to set up a final with Arsenal in Baku on May 29.
How Chelsea held their nerve
Both sides went close to making the crucial first breakthrough, with Kepa showing brilliant reflexes to turn over Danny Da Costa's well-struck volley, before David Luiz saw his clever back header cleared off the line.
However, it was the home side who did open the scoring after a lovely bit of skill from that man Eden Hazard, whose quick feet enabled him to evade the attentions of two opponents in a tight space.
And the Belgian had the awareness to pick out Loftus-Cheek's run down the left side of the box, with the midfielder then keeping his cool to side-foot the ball past the advancing Trapp and into the bottom right-hand corner.
The visitors, who are currently fourth in the Bundesliga, were reinvigorated after the break and soon got on level terms after a beautifully worked goal involving Mijat Gacinovic and Jovic.
The duo played a neat one-two, before Gacinovic's clever through pass picked out Jovic free in the box, with the Serb doing the rest for his 10th goal in the competition, joint highest with Chelsea's Olivier Giroud.
That goal appeared to give Frankfurt renewed belief as they tore into Chelsea, who did well to hold on and take the tie into extra time, although the added half an hour also brought a number of scares.
Eden Hazard started after being a substitute in the first leg in Germany, while N'Golo Kante's absence meant Mateo Kovacic deputised in midfield. Meanwhile, Europa League regulars Emerson Palmieri, Willian and Olivier Giroud all featured with Gonzalo Higuain dropping to the bench.
Frankfurt welcomed back Croatia forward Ante Rebic for their trip to London, while Mijat Gacinovic kept his place in their starting lineup. However, striker Sebastien Haller was unavailable due to a stomach problem.
Twice in the first half of extra time substitute Sebastien Haller saw efforts cleared off the line by Luiz and Azpilicueta, although the hosts also had a 'goal' ruled out for a foul on Trapp by their captain with just four minutes to go.
All of which meant the dreaded penalties, with Azpilicueta the first to fail, only for Kepa to come to Chelsea's rescue with two excellent stops to keep out efforts from Martin Hinteregger and substitute Goncalo Paciencia.
- This is the first time that all four places in the Champions League/European Cup and Europa League/UEFA Cup finals will be filled by one country
- Chelsea have won each of their last four penalty shootouts at Stamford Bridge, with this their first in European competition at home
- Chelsea have reached their first major European final since the 2013 Europa League, when they beat Benfica 2-1 under manager Rafael Benite
- Chelsea have never lost a home game against German opponents in all competitions (W7 D3)
- Frankfurt have only lost one of their last nine away Europa League games (W5 D3). The German side have scored in all seven of their games on the road in the competition this season
- Chelsea forward Eden Hazard has had a hand in 24 goals in 26 appearances at Stamford Bridge in 2018-19 (13 goals, 11 assists)
- Ruben Loftus-Cheek has been directly involved in nine goals in his last 14 appearances for Chelsea (4 goals, 5 assists); as many as in his previous 45 games for the Blues
McCoist: More pressure on Sarri
Speaking on The Debate, Ally McCoist says Unai Emery can afford to lose the Europa League final, but it's a different story for Maurizio Sarri.
"I think Emery, even if he loses the final, has seen a good improvement in Arsenal. He knows what he needs to do, strengthen defensively, and he'll get away with it.
"There has been more pressure on Sarri with one or two things not going his way. He could end up winning the Europa League and finishing third, and you'd have to say that's a fantastic season for Chelsea."
Man of the Match - Ruben Loftus-Cheek
The England international was easily Chelsea's brightest and most inventive performer on a night in which the home team struggled for fluency.
The midfielder gave the Blues a crucial lead, which they failed to build on, while his substitution with four minutes left of normal time impacted negatively on the hosts in extra time.
9 - Ruben Loftus-Cheek has been directly involved in nine goals in his last 14 appearances for Chelsea (4 goals, 5 assists); as many as in his previous 45 games for the Blues. Thriving.— OptaJoe (@OptaJoe) May 9, 2019
However, with 10 goals in all competitions to his name so far this campaign, the 23-year-old has enjoyed a hugely impressive season at the Bridge, and one that may now end with a trophy.
Chelsea take on Leicester City at the King Power Stadium in their final Premier League game of the season on Sunday, with the match kicking off at 3pm.
Meanwhile, Frankfurt host Mainz in their penultimate Bundesliga fixture of the season on Sunday (5pm).