Brazilian Lucas Paqueta scored the winner as Lyon took a step towards the Europa League quarter-finals on Wednesday with a 1-0 first-leg victory at Porto.
Peter Bosz's side, who have struggled in Ligue 1 this season, are hoping to win a major European trophy for the first time this term.
Paqueta produced the game's deciding moment just before the hour mark after a disappointing first half, collecting Tanguy Ndombele's pass and slotting home.
The goal survived a VAR check for offside, a few minutes before the video assistant also ruled that Paqueta had not handled inside the area at the other end of the pitch.
There was more drama deep into stoppage time, as Porto defender Chancel Mbemba had an effort ruled out for offside.
Lyon will now be confident of booking their place in the last-eight draw in the second leg of the last-16 tie in France a week on Thursday.
Elsewhere, Eintracht Frankfurt secured an impressive 2-1 win at Real Betis in their first leg.
The Bundesliga club took an early lead through Filip Kostic, before Nabil Fekir levelled for Betis in the 30th minute.
Japan midfielder Daichi Kamada netted what proved to be the winner before half-time.
It could have been worse for Betis, who sit fifth in La Liga this season, as Frankfurt's Rafael Borre missed a second-half penalty.
The other last-16 first legs take place on Thursday, including Barcelona's match against Galatasaray at Camp Nou.
RB Leipzig have been given a bye into the last eight after their opponents Spartak Moscow were expelled from the competition following Russia's invasion of Ukraine.