Juventus missed the opportunity to punch their ticket to the Champions League knockout stages as Corentin Tolisso's late header earned Lyon a 1-1 draw in Turin.
Serie A champions Juve knew a win at Juventus Stadium on Wednesday would have been enough to secure a last-16 berth.
All appeared well for Massimiliano Allegri's men when Gonzalo Higuain clinically dispatched a first-half penalty after teenager Mouctar Diakhaby clumsily shoved Stefano Sturaro in the area.
That was Higuain's 100th goal for Italian teams and he missed a gilt-edged opportunity to double his and Juve's tally shortly before the break, while Mario Mandzukic was wasteful on a couple of occasions.
And it ultimately proved costly as Juve were punished for a lacklustre second-half showing when Tolisso met Rachid Ghezzal's late free-kick to earn a share of the spoils.
Juve now have eight points from four matches and will have another opportunity to progress next time out against Group H leaders Sevilla, while Lyon maintain slim hopes with four points from as many games.
Bruno Genesio's men were lively in the opening stages and Gianluigi Buffon - making his 100th Champions League appearance - made a smart save with his legs from Maciej Rybus, who had raced onto a sumptuous Alexandre Lacazette throughball.
Juve soon settled and Mandzukic's 25-yard effort drew a smart stop from Anthony Lopes.
And the hosts were gifted the opener in the 13th minute when Diakhaby inexplicably pushed Sturaro in the area, with Higuain smashing the resulting penalty into the bottom-left corner.
The goal boosted Juve with Miralem Pjanic dictating their expansive play, while Claudio Marchisio drilled a 25-yard effort that shaved the left post.
It should have been 2-0 five minutes before the break. Mandzukic robbed Emanuel Mammana of possession and slipped in Higuain, who ballooned his effort over with only Lopes to beat.
Lyon almost caught Juve cold before the break with Ghezzal dragging an effort wide and Maxime Gonalons heading off target.
But Juve threatened again early in the second half when Leonardo Bonucci's exquisite long pass was nodded down by Pjanic to Mandzukic, who skewed wide with a limp half-volley.
The home side were guilty on a couple of occasions of being wasteful in possession, but Lyon lacked the coolness to capitalise.
That became a familiar pattern of a lacklustre second half and Lyon wasted several promising positions.
However, Juve were finally punished six minutes from time. Ghezzal's excellent free-kick delivery from the right flank was met by Tolisso, who ghosted in against some uncharacteristically slack Juve defending to score the first goal the Bianconeri have conceded in this season's competition.
It was almost worse for Juve in injury-time when Andrea Barzagli slipped allowing Sergi Darder to launch a swift counter-attack, but Lacazette saw his effort hit the side-netting under pressure from Barzagli.