Lazio had taken the lead after 18 seconds, but defensive and goalkeeping errors saw them crash out 4-3 on aggregate to Ludogorets.
The Biancocelesti had to come back from a shock 1-0 first leg home defeat, but left Miroslav Klose on the bench and welcomed Federico Marchetti after a month out. Svetoslav Dyakov and Pedro Luis Cavanda are both suspended after their red cards in Rome.
It was an incredible start for Lazio, who scored in the opening 18 seconds! Keita Balde burst down the left and beat the goalkeeper at the near post with the aid of a deflection. Ludogorets complained and wanted a foul, but the referee awarded the goal. Clocked at 17.8 seconds, it was the second fastest goal in Europa League history.
It was almost 2-0 moments later, as Keita trapped a misplaced pass and drilled wide of the near stick, then Roman Bezjak’s half-volley was off target for the hosts. Luca Biglia set up Antonio Candreva to get the ball in the net, but was flagged offside.
A desperate fingertip save prevented Candreva from getting his header in at the near post on another Keita cross.
Marcelinho had a great chance for Ludogorets, his volley with the outside of the boot whistling past the upright with Marchetti rooted to the spot.
Former Barcelona youth product Keita wreaked havoc in the Bulgarian defence, forcing several free kicks and yellow cards. Candreva blasted one of these set pieces off target from a promising position.
After the restart Candreva’s curling cross-shot went out and Lazio doubled their lead with another precious away goal in Sofia. Brayan Perea sprung the offside trap on an Eddy Onazi through ball and drew out the goalkeeper to nutmeg him at the base of the near post.
Ludogorets went extremely close to a goal on 64 minutes with Bezjak’s daisy-cutter from outside the box, but Marchetti fingertipped it on to the base of the upright.
The goal was only postponed by a few minutes, as Bezjak saw his shot take a huge deflection off Giuseppe Biava to loop over Marchetti into the far top corner.
This made it 2-2 on aggregate, though Lazio still had the advantage on away goals. Marchetti had not played for a month due to stomach and muscular problem, but his confidence was also said to be shaky. This may well have contributed to an astonishing howler.
Ludogorets drew level on the night, ahead on aggregate, when Zlatinski had a snapshot from distance that Marchetti seemed to be comfortably behind, but he took a step back and allowed it to bounce just over the line. Replays are not entirely clear on whether the ball crossed over completely.
Lazio refused to give in after that body-blow and restored their lead 3-2 in Sofia. Lucas Biglia sprung the offside trap on a long Biava ball and his header was parried by Stoyanov, but only into the path of Miroslav Klose to tap in the rebound.
Lazio’s defence and their goalkeeper let them down again in the final minutes. Bejzak flicked on a long ball and substitute Juninho Quixada, who had been on for four minutes, made the most of a misunderstanding between Abdoulay Konko and Marchetti to deposit into an empty net.
Ludogorets 3-3 Lazio (4-3 on agg)
Scorers: Keita 1 (La), Perea 54 (La), Bezjak 67 (Lu), Zlatinski 78 (Lu), Klose 82 (La), Juninho Quixada
Ludogorets: Stoyanov; Junior Caicara, Mantyla (Juninho Quixada 84), Moti, Minev; Aleksandrov (Lumu 56), Fabio Espinho, Zlatinski, Misidjan; Marcelinho (Michel 77); Bezjak
Lazio: Marchetti; Konko, Biava, Ciani, Radu; Biglia, Ledesma, Onazi; Candreva (Lulic 64), Perea (Klose 71), Keita (Gonzalez 84)
Ref: Benquerenca (POR)
Tickets for the Champions League final between Juventus and Real Madrid are still on sale with reseller Viagogo - Click to find out more