Ludogorets Razgrad went into the second leg of their Europa League last-32 tie with Lazio leading 1-0 after last week's first leg.
Keita Balde Diao fired the visitors into the lead in the first minute and Brayan Perea scored their second after the break.
Roman Bezjak pulled a goal back for the home side with a deflected effort, before Hristo Zlatinski scored a second to put his team ahead in the tie.
Miroslav Klose scored a third for Lazio soon after, but with two minutes left to play, Juninho Quixada found the net to put his side through to the last 16 with a 4-3 win on aggregate.
Read how the action unfolded below.
Good evening and thank you for joining Sports Mole for live text commentary of the Europa League match between Ludogorets Razgrad and Lazio at the Ludogorets Arena.
The Italian side have it all to do this evening, as they aim to come back from last week's 1-0 defeat at the Stadio Olimpico. It will take a much improved performance from Edoardo Reja's side as they aim to reach the last 16.
LUDOGORETS XI: Stoyanov, Junior Caicara, Mantyla, Moti, Minev, Aleksandrov, Fabio Espinho, Zlatinski, Misidjan, Marcelinho, Bezjak
LAZIO XI: Marchetti, Konko, Biava, Ciani, Radu, Biglia, Ledesma, Onazi, Candreva, Perea, Keita
LUDOGORETS SUBS: Cvorovic, Choco, Terziev, Juninho Quixada, Dani Abalo, Lumu, Michel
LAZIO SUBS: Berisha, Lulic, Mauri, Gonzalez, Cana, Klose, Kakuta
TEAM NEWS: Lazio leave Miroslav Klose on the bench, as youngsters Keita Balde and Perea are chosen to start up front. Antonio Candreva and Cristian Ledesma didn't start last week's tie, but are in the first XI from kick off tonight. There is also a place in the side for goalkeeper Federico Marchetti, who returns from injury in place of Etrit Berisha, but Luis Cavanda is suspended after his red card in the first leg. Ludogrets captain Svetoslav Dyakov was also sent off in Rome so he misses out, while Roman Bezjak leads the line for the home side.
Ludogorets will be looking to preserve their unbeaten record in the Europa League this season. They won five of their six matches in the group stage after, dropping out of the Champions League at the playoff stages to Basel.
PREDICTION: Lazio were poor in last week's tie and it would take a huge effort for them to come from behind and go through tonight. They have the quality in their squad, but with players such as Klose and Mauri on the bench, it seems that their priorities are improving on their league position. Ludogorets could easily have scored two or three goals in Rome, and they will be hoping that those missed opportunities don't come back to haunt them tonight. I think that the home side will hold on and squeeze through to the last 16, following a 1-1 draw this evening.
Lazio are back in league action at the weekend, as they face a tough match away to Fiorentina. They have improved in the league in recent weeks and are currently 10th in the Serie A table. They are not too far away from claiming a spot in the Europa League next season, as fifth-placed Inter Milan are just five points ahead of them.
After the conclusion of this match, we will be bringing you live coverage of Trabzonspor's meeting with Italian champions Juventus. The Bianconeri won 2-0 in the first leg, and will be firm favourites to progress in Turkey.
The teams are out and kick off is just moments away.
KICKOFF! We are underway at the Ludogorets Arena!
GOAL! Ludogorets Razgrad 0-1 Lazio (Keita)
What a start by Lazio! They have levelled the scores less than 20 seconds into the match! Keita burst down the left wing, and drove into the box before squeezing an effort past Stoyanov. That is just what they needed and Keita's place in the starting lineup has been immediately justified.
CHANCE! Keita is enjoying a fantastic start to this game and he comes close to grabbing a second, when he picks the ball up in space 25 yards out from goal, before drilling an effort just wide of the post.
YELLOW CARD! Bezjak will be walking a tightrope for the rest of the match, as he picks up an early booking for a poor challenge from behind on Keita.
The home side show that they will cause Lazio problems as Bezjak latches onto a knockdown on the edge of the box, before firing a strike wide of the post.
Lazio have started this game brilliantly and it is a world away from their performance last week. There is much more pace throughout the team and they look like scoring every time they come forward.
Despite their positive start, there is still gaps at the back for Lazio as Marcelinho latches onto a long ball over the top for the hosts. He bursts into the box before trying to get a shot away, but he makes a mess of his effort and can only stab the ball towards goal, with the keeper easily saving.
CHANCE! Lazio should be two goals up. Ketia shows great skill down the left wing and eventually gets the ball onto his right foot to whip in a cross. He picks out the unmarked Candreva in the middle, but he can only direct his header straight at the keeper.
YELLOW CARD! Konko is the first player to pick up a booking for the visitors this evening.
Ludogorets have been awarded a free kick around 25 yards out from goal, after Marcelinho is dragged to the ground.
The set piece is taken by Zlatinski, but he makes a mess of the strike, curling it high and wide of the goal.
Lazio are still in control of this match, and look the more likely to get the next goal. After the initial shock of conceding early on, the hosts are starting to find some of the form they showed last week, but are yet to seriously trouble Marchetti.
CHANCE! Misidjan causes problems in the Lazio box as he gets to the byline and delivers a teasing cross that is only cleared as far as Bezjak. The striker has his back to goal and attempts a spectacular overhead kick, but he can't get enough pace on the ball to beat Marchetti, who sees it all the way and makes the save.
YELLOW CARD! Goalscorer Keita is the second visiting player to pick up a card.
Ludogorets are piling on the pressure in search of a goal, and they win a corner on the right. The ball is whipped into a dangerous area, but Marchetti is a commanding presence in the area as he comes off his line to punch clear.
It is end to end at the moment, and the pace of this match is frantic. There is acres of space in the midfield as each team looks to break quickly, with some really good football being played.
Over the last few minutes the home side have begun to see much more of the ball as they try to assert their authority on this match. They will be desperate to get something before half time, after the way they began the evening.
YELLOW CARD! Keita continues to cause Ludogorets problems, and he is brought down just outside the box by Moti, who is booked for his challenge.
CHANCE! Candreva steps up to take the free kick and tries to pick out the bottom corner with a low strike, but he drills the ball wide of the far post.
HALF-TIME: Ludogorets Razgrad 0-1 Lazio
The referee decides that no stoppage time is needed and calls time on the first half with Lazio leading. Keita's early strike is the difference between the teams and more importantly the aggregate score is now 1-1.
Lazio's start to the game was electric and Keita managed to score one of the quickest goals in tournament history.
I must admit that I was skeptical of Lazio's decision to leave Klose on the bench, but the two young strikers playing for them this evening have really energized the team. They lacked urgency and looked bereft of ideas in the first leg, but we have seen a complete transformation here.
The stats between the teams are level at the interval, with possession split 50/50. They have both had five strikes on goal with two attempts on target, but it is Lazio who have found the net.
Just a quick reminded that if the score stays as it is at the moment, then this game will be heading to extra time. If we have one more goal from either side, then there is no chance of any further action beyond the 90 minutes.
The players are making their way out of the dressing rooms and back out onto the pitch, with the second half set to commence shortly.
Lazio take the kick off and we are back underway.
Lazio are close to doubling their lead as Candreva receives the ball in space before attempting to pick out Perea at the back post, but his cross is just over the head of the striker and ends up drifting out of play.
Marchetti nearly puts his team in danger by rushing off his line to clear a long ball. He initially makes a mess of the clearance, before recovering to hammer it out of play.
GOAL! Ludogorets Razgrad 0-2 Lazio (Perea)
Lazio double their lead and it's another of their strikers who gets on the scoresheet! They break at pace with Onazi leading the charge. He spots the run of Perea ahead of him and slides him into the box, to place a composed finish underneath Stoyanov. The goalscorer picks up a booking for his celebrations, but his team won't mind one bit as they lead the tie 2-1 on aggregate now.
SUBSTITUTION: The home side respond to that goal by making a change, as Lumu comes on for Aleksandrov
Lazio look to be in control of the match at the moment and are holding onto the ball well. It is surely theirs to lose, as the hosts require two goals to go through now.
Ludogorets are beginging to show their frustrations over how this game has panned out for them, and Marcelinho is lucky to avoid a booking for a poor foul from behind.
SUBSTITUTION: Lulic comes on for Lazio in place of Candreva.
OFF THE POST! Ludogorets come within inches of finding the back of the net, as Bezjak cuts in from the left, before drilling a low strike against the outside of the post.
GOAL! Ludogorets Razgrad 1-2 Lazio (Bezjak)
We could be in for some ending to this match, as the home side pull a goal back. Espinho slides a brilliant ball through to Bezjak, who fires in an effort that takes a huge deflection, and loops over the head of Marchetti and into the far corner. The next goal really is vital in this game, as if Ludogorets score it, they will be going through to the last 16.
The crowd are really getting behind Ludogorets now and Misidjan is inches away from getting on the end of a cross inside the six-yard box, as Radu manages to clear the danger.
SUBSTITUTION: Lazio are bringing on Klose for the remainder of this match to replace Perea.
Lazio manage to relieve some pressure by keeping the ball deep in their opponents half, but the hosts win it back and are determined to push forward quickly in search of the goal they need.
YELLOW CARD! Zlatinski is booked for dragging down Klose, and if the home side make it through to the next round, he will be suspended for the first leg.
SUBSTITUTION: The home side bring Michel on for Marcelinho.
GOAL! Ludogorets Razgrad 2-2 Lazio (Zlatinski)
This is a truly unbelievable moment as the home side come from two goals down thanks to a momentous goalkeeping blunder. Zlatinski fires in a long range effort that Marchetti should easily save, but the keeper makes a complete mess of it and drops the ball over the line. The linesman was quick to spot it and made the right call with the decision, and as things stand Ludogorets are heading through to the next round.
GOAL! Ludogorets Razgrad 2-3 Lazio (Klose)
What a remarkable game! Lazio have retaken the lead in the tie! Ledesma pumps a long ball into the box that Biglia heads goalwards. His effort is pushed out by Stoyanov, but falls kindly to Klose to tap in from just a few yards out.
SUBSTITUTION: The man who scored the first goal of the evening is heading off, as Keita is replaced by Gonzalez.
Bezjak is so close to latching onto a through ball, but Onazi shows great strength to hold him off and stop him from bursting into the box.
GOAL! Ludogorets Razgrad 3-3 Lazio (Quixada)
With two minutes of this match left to play Ludogorets have unbelievably taken the lead in the tie. The ball is pumped long and flicked into the box by Bezjak. Marchetti comes out to claim but Quixada gets there first to flick an effort over his head and into the back of the net.
There are going to be three minutes of stoppage time left in this incredible game of football.
Lulic bursts into the box and wins a corner for Lazio, but they can't make anything from the set piece as the home side clear.
FULL-TIME: Ludogorets Razgrad 3-3 Lazio (Ludogorets win 4-3 on aggregate)
An amazing game of football comes to an end, with Ludogorets scoring a late goal to win 4-3 on aggregate and make it through to the last 16.
The Ludogorets Arena is rocking, and who could blame the home fans after their comeback. Lazio were two goals up and looked as if they were through, but a spirited fightback from the home team has won it for them, with their first leg victory in Rome proving crucial to tonight's outcome.
That's all we've got time for here. Please stay with me as I bring you live commentary from Trabzonspor's tie with Juventus. If it is anything like this match, then we will be in for a treat!