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.
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.
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.