Bayer Leverkusen put one foot in the Europa League final as Florian Wirtz and Robert Andrich scored in Thursday's 2-0 semi-final first-leg win over Roma at the Stadio Olimpico.
Roma were masters of their own downfall as Wirtz opened the scoring after 28 minutes, Rick Karsdorp's horrible error allowing Alex Grimaldo to race into the area and tee up Wirtz to finish into an unguarded net.
Though Daniele De Rossi's hosts improved after the break, Andrich added a spectacular second with 73 minutes on the clock, the midfielder giving Mile Svilar no chance as he side-footed into the top-left corner from 25 yards out.
Roma should have pulled one back four minutes into stoppage time, but Tammy Abraham could only nod over from inside the six-yard box after a goalmouth scramble, and they now have it all to do in next week's second leg.
Leverkusen's unbeaten run for 2023-24 stands at 47 games across all competitions (39 wins, eight draws), and they are now overwhelming favourites to stamp their ticket to the final in Dublin.
The other semi-final tie remains in the balance at the halfway stage, with Atalanta being pegged back in a 1-1 draw with Marseille at the Stade Velodrome.
Having scored twice in La Dea's memorable win at Anfield in the last round, Gianluca Scamacca took in Teun Koopmeiners' pass before finishing low across goal 11 minutes in, but Gian Piero Gasperini's team couldn't hold on.
Chancel Mbemba was the unlikely goalscorer for Marseille, stepping out of defence to clip a 25-yard effort against the far post and in after 20 minutes.
Neither side could find a winner from there, meaning it's all to play for ahead of next week's return fixture at the Gewiss Stadium in Bergamo.