Match ends, Chelsea 1(4), Eintracht Frankfurt 1(3).
Eden Hazard scored the winning penalty as Chelsea edged past Eintracht Frankfurt 4-3 on penalties to set up an all-English Europa League final against Arsenal.
Hazard, who could have played his final game for the Blues at Stamford Bridge, converted after Chelsea goalkeeper Kepa Arrizabalaga had saved from both Martin Hinteregger and Goncalo Paciencia.
Chelsea will now meet Arsenal in the final in Baku on 29 May and the result means both the Champions League and Europa League final will be played between English clubs this season - the first time all four finalists in Europe's top two competitions have come from one nation.
With the score 1-1 after the first leg, Chelsea took the lead in the second when Ruben Loftus-Cheek coolly stroked into the far corner in the 28th minute, but the night was far from straight-forward.
Frankfurt levelled the tie four minutes after half-time when Luka Jovic slotted past Arrizabalaga after being played in by Mijat Gacinovic.
Jovic's goal punished Chelsea for a sloppy start to the second half and the Blues continued to be wasteful as Stamford Bridge became increasingly restless.
In extra time the Germans twice had efforts cleared off the line with David Luiz first denying Sebastian Haller and then Davide Zappacosta clearing Haller again at a corner.
Chelsea thought they had won it late in extra time but Cesar Azpilicueta, who later missed first in the penalty shootout, had a goal ruled out when the referee deemed he had bundled the ball out of Frankfurt keeper Kevin Trapp's hands.
- Aubameyang scores hat-trick as Arsenal reach final
- Arsenal & Chelsea fans face difficult trip to Baku for final
- Chelsea boss Maurizio Sarri unhappy about US trip before Europa League final
- Football Daily: Arsenal & Chelsea make it an English clean sweep
Redemption for Arrizabalaga and Hazard's perfect farewell?
The shootout was Chelsea's first since they lost the Carabao Cup final to Manchester City on penalties in February.
That game was overshadowed by Arrizabalaga's refusal to be substituted - manager Maurizio Sarri wanted to bring on substitute goalkeeper Willy Caballero for the shootout - but at Stamford Bridge the Spaniard proved to be the hero.
After Azpilicueta missed first, Arrizabalaga remarkably kept out Eintracht's fourth penalty by trapping the ball under his shin as he stood still when Hinteregger went for power and then dived low to his right to palm away the visitors' fifth.
That left Hazard with the opportunity to complete the win and the Belgian delivered - sending Trapp the wrong way, tucking the ball into the corner.
- Chelsea final is dream end to career - Cech
- Arsenal and Chelsea given 6,000 tickets each for final
- I don't know if final will be my last Chelsea game - Hazard
Hazard has been strongly linked with a move to Real Madrid this summer and if he does depart the game will be his final at Stamford Bridge after seven years at the club.
There were no waves to the crowd or clear indications he will leave in the summer and when asked whether the final would be his last game for the club he said "in my mind I do not know yet".
If he does leave in the summer it would be a fitting way for him to finish in west London.
Sarri to end difficult season on a high?
The win also means Chelsea have a final chance to earn silverware in Sarri's first season in charge.
Like the campaign as a whole, the night was far from smooth for the Italian and had difficult moments.
He become increasingly frantic on the touchline as his side lost control of the game in the second half and his decision to remove goal scorer Loftus-Cheek when bringing on Ross Barkley late on was loudly booed by the Chelsea fans.
But for all of the season's problems, including the Arrizabalaga affair and protests from fans against his style of play, Chelsea are quietly achieving their pre-season aims at the end of the season.
Last weekend they secured a top four finish and Champions League qualification through their league position and are now into their first European final since winning the Europa League in 2013.
Result harsh on impressive Eintracht
Had either of their efforts cleared off the line in extra time gone in, it would have been hard to argue Eintracht Frankfurt were not worthy finalists.
Over the two legs the German side, fancied by few at the start of the competition, had opportunities to seal a first European final since 1980.
Rather than sitting back after Jovic's equaliser - the highly sought after 21-year-old's 10th Europa League goal of the season - they continued to attack Chelsea in the second half and the tension around Stamford Bridge was clear.
Substitute Haller should have scored his first chance in extra time but failed to make proper contact with his volley, kicking the ball into the ground with his studs rather than side-footing into the net, and that allowed Luiz to clear.
The visitors were roared on by their vocal travelling support, some of whom were in tears at the end of the penalty shootout.
Despite the disappointment those fans chanted in support of their team long after the final whistle as the players and backroom staff emotionally came together and linked arms in front of the away end.
Man of the match - Kepa Arrizabalaga (Chelsea)
Chelsea' home shootout run - the best stats
- Chelsea have won each of their last four penalty shootouts at Stamford Bridge, with this their first in European competition at home.
- 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 reached their first major European final since the 2013 Europa League, when they beat Benfica 2-1 under manager Rafael Benitez.
- Chelsea have never lost a home game against German opponents in all competitions (W7 D3).
- Eintracht 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.
- Luka Jovic has scored 10 goals in the Europa League this season; no player has netted more (level with Olivier Giroud).
- 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.
'We got into trouble' - Sarri reaction
Speaking to BT Sport, Chelsea boss Maurizio Sarri said: "I think we played a very good first half and then we got into trouble after the break. We conceded a goal in 10 minutes of panic.
"We were better in the last part of the match but we were tired in extra time and it was difficult.
"We started with three injuries and picked up two more during the match after we lost Andreas Christensen and Ruben Loftus-Cheek, so it wasn't easy but we are now in the final."
- 28AzpilicuetaBooked at 82mins
- 27ChristensenSubstituted forZappacostaat 74'minutesBooked at 120mins
- 30David Luiz
- 17KovacicBooked at 52mins
- 12Loftus-CheekSubstituted forBarkleyat 86'minutes
- 22WillianSubstituted forPedroat 62'minutes
- 18GiroudSubstituted forHiguaínat 96'minutes
- 10E Hazard
- 19AbrahamBooked at 90mins
- 3FaletteBooked at 38mins
- 24da Costa
- 17RodeBooked at 40minsSubstituted forde Guzmánat 70'minutesBooked at 90mins
- 11GacinovicSubstituted forMendes Paciênciaat 118'minutes
- 4RebicSubstituted forHallerat 90+3'minutes
- 6de Guzmán
- 39Mendes Paciência
- Ovidiu Hategan
- Shots on Target
Penalty Shootout ends, Chelsea 1(4), Eintracht Frankfurt 1(3).
Goal! Chelsea 1(4), Eintracht Frankfurt 1(3). Eden Hazard (Chelsea) converts the penalty with a right footed shot to the bottom left corner.
Penalty saved! Gonçalo Paciência (Eintracht Frankfurt) fails to capitalise on this great opportunity, right footed shot saved in the bottom left corner.
Goal! Chelsea 1(3), Eintracht Frankfurt 1(3). David Luiz (Chelsea) converts the penalty with a right footed shot to the bottom left corner.
Penalty saved! Martin Hinteregger (Eintracht Frankfurt) fails to capitalise on this great opportunity, left footed shot saved in the centre of the goal.
Goal! Chelsea 1(2), Eintracht Frankfurt 1(3). Jorginho (Chelsea) converts the penalty with a right footed shot to the bottom left corner.
Goal! Chelsea 1(1), Eintracht Frankfurt 1(3). Jonathan de Guzmán (Eintracht Frankfurt) converts the penalty with a right footed shot to the bottom left corner.
Penalty saved! César Azpilicueta (Chelsea) fails to capitalise on this great opportunity, right footed shot saved in the bottom right corner.
Goal! Chelsea 1(1), Eintracht Frankfurt 1(2). Luka Jovic (Eintracht Frankfurt) converts the penalty with a right footed shot to the bottom left corner.
Goal! Chelsea 1(1), Eintracht Frankfurt 1(1). Ross Barkley (Chelsea) converts the penalty with a right footed shot to the bottom left corner.
Goal! Chelsea 1, Eintracht Frankfurt 1(1). Sébastien Haller (Eintracht Frankfurt) converts the penalty with a right footed shot to the bottom left corner.
Penalty Shootout begins Chelsea 1, Eintracht Frankfurt 1.
Second Half Extra Time ends, Chelsea 1, Eintracht Frankfurt 1.
Offside, Eintracht Frankfurt. Danny da Costa tries a through ball, but Sébastien Haller is caught offside.
Davide Zappacosta (Chelsea) is shown the yellow card.
Foul by Mateo Kovacic (Chelsea).
Sébastien Haller (Eintracht Frankfurt) wins a free kick on the right wing.
Attempt blocked. Pedro (Chelsea) right footed shot from outside the box is blocked. Assisted by Eden Hazard.
Substitution, Eintracht Frankfurt. Gonçalo Paciência replaces Mijat Gacinovic.