Bayer Leverkusen reached the Europa League final and stretched their remarkable unbeaten run to 49 games on Thursday, Josip Stanisic scoring seven minutes into stoppage time in a dramatic 2-2 draw with Roma.

Having won last week's first leg 2-0 in Italy, Leverkusen were strong favourites to advance to this month's final in Dublin, though two Leandro Paredes penalties left them facing up to the prospect of extra time.

Paredes halved Leverkusen's aggregate lead on the stroke of half-time after Jonathan Tah fouled Sardar Azmoun, then repeated the trick following a bizarre handball from Adam Hlozek shortly after the hour mark.

However, Roma's hearts were broken as goalkeeper Mile Svilar – who was otherwise outstanding – failed to claim a routine corner and it bounced in off the unfortunate Gianluca Mancini with eight minutes of the 90 remaining.

Rather than sitting back at 2-1 up in the tie, Leverkusen chased a leveller in order to preserve their unbeaten record across all competitions this season.

It was yet another last-gasp effort that kept that record intact, with Stanisic firing into the bottom-left corner after being played through by Granit Xhaka.

Xabi Alonso's team are now unbeaten in 49 games in all competitions, breaking Benfica's previous European top-tier record of 48 matches, set between 1963 and 1965.

Leverkusen will face another Italian side in the showpiece game, after Atalanta crushed Marseille 3-0 in Bergamo to seal a 4-1 aggregate win in the other semi-final.

In-form striker Gianluca Scamacca had already rattled the crossbar when La Dea took the lead, with Ademola Lookman's strike deflecting in off the unfortunate Samuel Gigot.

Lookman then turned provider as Atalanta stretched their advantage seven minutes after the break, teeing up Matteo Ruggeri for a rasping finish into the top-right corner.

Gian Piero Gasperini's men were able to add some gloss to the scoreline at the death, with El Bilal Toure's pinpoint finish giving Pau Lopez no chance to round off a dominant win.