Chelsea beat Eintracht Frankfurt on penalties on Thursday to set up an all-English Europa League final with local rivals Arsenal in Baku on May 29.
Arsenal beat La Liga side Valencia 7-3 on aggregate, while in the other semi-final Chelsea and Eintracht Frankfurt finished 2-2 on aggregate after extra time. Chelsea won 4-3 on penalties to finally overcome their Bundesliga challengers.
The result means both of Europe's club competitions will feature all-English finals after Tottenham Hotspur set up a June 1 title decider with Liverpool in the Champions League.
Kepa Arrizabalaga saved two penalties in the shootout as Chelsea scraped past Eintracht Frankfurt to seal their place in the Europa League final in Baku with Arsenal.
The Chelsea shot-stopper made headlines for all the wrong reasons when he refused to come off when substituted by manager Maurizio Sarri in the Carabao Cup final, which The Blues went on to lose to Manchester City, but he redeemed himself on a dramatic night at Stamford Bridge.
Eden Hazard, possibly making his last appearance at Stamford Bridge as a Chelsea player, then scored the winning penalty to set up an all-English showdown on May 29 after Arsenal won in Valencia.
Ruben Loftus-Cheek gave Chelsea the lead halfway through the first half, giving the home side a one-goal advantage after the 1-1 draw in the first leg. However, Real Madrid-bound Luka Jovic levelled shortly after half time.
In the other semi-final’s return-leg, a hat-trick from Pierre-Emerick Aubameyang, and one from his strike partner Alexandre Lacazette, fired Arsenal into the Europa League final as they beat Valencia 4-2 (7-3 on aggregate).
Unai Emery’s side led 3-1 from the first leg, but Kevin Gameiro got the home side off to the perfect start after just 11 minutes, with the four-time winner of the Europa League converting Rodrigo’s shot across the six-yard box from close range.
Pierre-Emerick Aubameyang has scored 29 goals in all competitions this season. Sergio Aguero (31) is the only Premier League player with more.