Bayer Leverkusen and Atalanta will meet in the Europa League final after seeing off Roma and Marseille respectively in the semi-finals.
The Bundesliga champions headed into the reverse leg in Germany 2-0 up on aggregate after an impressive performance away from home.
Check out our other stories here:
Olympiacos 2-0 Aston Villa (6-2 agg): El Kaabi stars again as Villa bow out of Europe
Rashford and Martinez back in training for Manchester United
Five unlucky stars snubbed in Premier League Player of the Season
Roma did their best to overturn the deficit after Leandro Paredes scored a penalty just before half-time and netted another from the spot in the second half.
But the German side hit back late on, with Roma scoring an unfortunate own goal through Gianluca Mancini.
Leverkusen once again salvaged their unbeaten run through Josip Stanisic, who scored in the 97th minute and sent the fans in the stands into raptures.
In Italy, Atalanta welcomed Marseille with the tie finely poised at 1-1.
A goal from Ademola Lookman put the Serie A side in the driving seat and they were good value for their lead, eventually doubling it through Matteo Ruggeri, who smashed in from distance.
What a night 🥵#UEL
— UEFA Europa League (@EuropaLeague) May 9, 2024
Unlike the match in Germany, this one was over relatively early in the night and Atalanta will fancy themselves in the final having already knocked favourites Liverpool out of the competition.
They scored a third deep into stoppage time through El Bilal Toure, who capped off a brilliant performance by curling the ball into the bottom corner.
Leverkusen and Atalanta will face off on May 22 in what promises to be a mouthwatering affair in Dublin.
Leverkusen march on
Roma had nothing to lose in their match against Xabi Alonso’s men and they started well, forcing Matej Kovar into action early after Romelu Lukaku latched on to a long ball and prompting the Czech Republic international to rush out and meet the Belgian striker.
Granit Xhaka had the first real opportunity for the hosts, unleashing one of his trademark strikes from distance but sending it way over the crossbar.
Kovar was called upon again after Roma captain Lorenzo Pellegrini directed a diving header towards goal, but again there was no way through Leverkusen’s cup keeper.
Very quickly the game descended into a scrap.
Edmond Tapsoba, Mancini and Pellegrini were all booked for a scuffle and then Paredes was carded for a cynical foul of Exequiel Palacios.
Mile Svilar matched Kovlar’s excellent goalkeeping standards by keeping out Amine Adli and Adam Hlozek consecutively and Roma won a penalty a few minutes later.
Jonathan Tah pulled out Sardar Azmoun’s shorts in the box and despite Lukaku getting a shot away, the referee pointed to the spot where Paredes thumped it down the middle to half the aggregate deficit before half-time.
Sláinte! 🇮🇪🏆
WE’RE GOING TO DUBLIN BABY! 🖤❤️#B04ASR | #Bayer04 #UEL #aCROSSeurope @EuropaLeague pic.twitter.com/nT0G55aBNw
— Bayer 04 Leverkusen (@bayer04_en) May 9, 2024
Leverkusen looked like they were getting closer to a goal in the second half, with Jeremie Frimpong leading a lovely counter and finding Jonas Hofman, who could only fire straight at Svilar.
But as Alonso’s men pushed, the game opened up and Roma were getting more chances.
Pellegrini had a shot blocked at one end before Alex Grimaldo had his effort saved in what was now an end-to-end affair.
Roma had their second penalty of the night after Adam Hlozek was judged to have committed a handball and Paredes kept his nerve to score his second from the spot.
It was now anyone’s game and after scoring their second, Roma were content to sink into their defensive shape.
But it proved to be a mistake as Leverkusen scored twice before the full-time whistle went.
Firstly, Svilar’s error from a corner saw the ball cannon in off the face of Mancini to give the home side control of the tie, but they wanted to push on and protect that precious unbeaten streak that was on the line.
They managed to do exactly that in the seventh minute of added time.
With the tie all but over anyway, Stanisic cut inside and placed the ball in the bottom corner, keeping their hopes of an invincible Treble alive.
They now have just four games to go including the Europa League final to create history.
Atalanta on the rise
Atalanta are enjoying a decent campaign in Serie A and could yet secure a place in the top four to qualify for the Champions League, but they would prefer to do it by winning the Europa League.
First they needed to see off Marseille and Charles de Ketelaere had a great chance just seven minutes into the match, rounding the goalkeeper but hitting the outside of the post.
CHIUDETE LE VALIGIE, ANDIAMO A DUBLINOOOOO ✈️
PACK YOUR BAGS, WE’RE GOING TO DUBLIN ✈️#AtalantaOM #UEL #GoAtalantaGo ⚫️🔵 pic.twitter.com/f2yv9PydVo
— Atalanta B.C. (@Atalanta_BC) May 9, 2024
The midfielder was involved minutes later for another great chance, sending Gianluca Scamacca through on goal but watching the Italian striker flash a shot wide of the post.
More shots from Davide Zappacosta and Teun Koopmeiners followed in what was becoming a one-sided match, but neither were able to break the deadlock.
Scamacca then hit the crossbar from close range before De Ketelaere’s follow-up header was well saved by Pau Lopez.
It seemed only a matter of time before Atalanta were going to take the lead and they did on the 30-minute mark.
Lookman was given space outside the box and shot from 20 yards. His effort took a huge deflection and bounced into the net.
It was a scruffy goal but one the home side were delighted to get before half-time.
They picked up where they had left off in the second half and it was not long before they doubled their advantage.
Ruggeri was handed the ball by Lookman and unleashed an audacious strike from distance that flew into the top corner.
Marseille responded by hitting the crossbar through Jordan Veretout’s effort.
The Frenchman looked like he was crossing the ball into the box but it instead sailed towards goal.
Ligue 1’s only remaining European representatives looked a beaten team after going two down and it was a comfortable final fifteen minutes for Atalanta, who were thoroughly deserving of the victory.
Their third was the icing on the cake, with Toure doing incredibly well to burst past his man, cut inside and curl a strike into the bottom corner.
Most people may be expecting and routing for Leverkusen to win the final, but Atalanta are more than a match for the German side and it is set to be a great game at the end of the month.