Bayer Leverkusen will need to win at home in the second leg to reach the Champions League group stages after defeat in Rome. Lazio fans threatened to force the abandonment on the game, due to racist chanting.
Racist chants marred Lazio's 1-0 win over Bayer Leverkusen in the Champions League playoff round as substitute Keita Baldé Diao hit the winner with 13 minutes to play.
The 20-year-old Senegalese striker came off the bench at the interval to score against the run of play for the Italian side that was fortunate to keep a clean sheet against a dangerous Leverkusen attack.
But Lazio's win will almost certainly be overshadowed by discriminatory chants from the home supporters. Experienced Swedish referee Jonas Eriksson threatened to abandon the match if the racist chants towards Jonathan Tah, Wendell and Karim Bellarabi were to continue.
Italian football has struggled to deal with racism in football over the last few seasons with the head of the country's FA banned for six months for making racist remarks about one domestic player.
Lazio has grappled with the issue in recent years, but hasn't been able to eradicate the problem completely. The club was fined by UEFA four times in one campaign in 2013 and most recently was punished for territorial discrimination by the Italian Football Federation.
UEFA have declared that no action will be taken against Lazio, after no report of racist chanting was filed by the referee or match delegate after the game.
The Italians packed out around three-quarters of their stadium as Lazio looked to qualify for the group stages of the Champions League for the first time in eight years. The start was promising with Antonio Candreva seeing a sixth minute shot deflected wide of the target.
But Roger Schmidt's men grew in assurance throughout and began to see their impressive counterpressing style reap its rewards. On 22 minutes, Bellarabi charged down the wing, but eventually dragged his shot off target. Four minutes later, midfielder Lars Bender cannoned a right-foot strike from 25 yards against the woodwork.
Almost immediately, former German international striker Miroslav Klose hit the post with a chance inside the penalty area for the Italians.
Super sub wins it for Lazio
Schmidt introduced Admir Mehmedi at the over half-time for the ineffective Son Heung-Min, just as he did at the weekend against Hoffenheim when the former Freiburg ace helped Leverkusen to a 2-1 win. Klose, meanwhile, was replaced at the break by Keita.
The Lazio scorer was a dangerous weapon for Stefano Pioli's side and showed his searing pace early on in the half. On 62 minutes, he was one-on-one with goalie Bernd Leno before missing the target completely.
Leverkusen was left confused and disappointed at the decision of the referee to disallow a goal from Hakan Calhanoglu on 69 minutes. The Turkish attacking-midfielder's strike took a deflection from his teammate Stefan Kiessling - in an onside position - on the goalline as two Lazio players looked to defend the gaping net.
But Keita and Leno would lock horns again, the German keeper getting the better of the striker with an outstanding save on 71 minutes to keep the scores blank. Yet there was nothing Leno could do about the decisive goal on 77 minutes when Keita surged past Tah in the inside-right channel and fired a shot into the far corner of the net.
Elsewhere, Manchester United took a big step towards the group stages with a 3-1 win over Belgian qualifiers Club Brugge. Louis van Gaal's men take a two-goal advantage to Belgium in the second leg after two goals from Memphis Depay and one late on for Marouane Fellaini.
Belarus' BATE Borisov are on course for a return to the group stages after beating Partizan Belgrade by a single goal, while Sporting Lisbon edged out CSKA Moscow 2-1.
Lazio 1-0 Bayer Leverkusen
Manchester United 3-1 Club Brugge
BATE Borisov 1-0 Partizan Belgrade
Sporting CP 2-1 CSKA Moscow
Astana 1-0 APOEL Nicosia
The playoff round second legs take place next week.