Memphis Depay gjorde det viktiga målet fram till 0-1 efter en kyligt slagen straff, tidigt i matchen i Turin.
Det gav fransmännen överläge med 2-0 efter att Lyon hade med sig 1-0 från den första matchen hemma tidigare i år.
Juventus kom tillbaka och kvitterade strax före paus, det också på straff, genom Cristiano Ronaldo.
Dessförinnan hade Federico Bernardesci haft en uppvisning på högerkanten, och skulle bara lägga in kvitteringen innan en Lyon-försvarare kom emellan.
Ronaldo hade också en vass frispark, som Lyon-målvakten Anthony Lopes gjorde en lika vass räddning på.
City i kvarten
Men Ronaldo gav Juventus hopp om avancemang när han bombade in 2-1 på frispark i den 60:e minuten, via målramen.
Juve-stjärnan hade också flera andra lägen att göra 3-1, som hade tagit Juventus vidare, men hans nick i bra läge gick över och hans båda frisparkar en bit utanför straffområdet hamnade i muren.
Juventus tryckte på hårt för 3-1, men Lyon höll undan och 2-2 över två matcher tog dem vidare till kvartsfinal mot Manchester City.
KLIPP: Real Madrid utslaget ur CL efter Varanes dundertabbar
KLIPP: Champions League-slutspelet i korthet
UEFA Champions League
Juventus
2 - 1
Olympique Lyonnais
Första halvlek
- 12'0 - 1Depay
- 19'Aouar
- J. Cuadrado31'
- 38'Dubois
- 42'Depay
- 1 - 1C. Ronaldo43'
- Bentancur44'
Andra halvlek
- 2 - 1C. Ronaldo (Bernardeschi)60'
- RamseyPjanic61'
- 61'J. AndersenDenayer
- 67'Reine-AdelaideToko Ekambi
- 67'DembéléDepay
- DaniloJ. Cuadrado70'
- DybalaBernardeschi71'
- 76'Lopes
- 79'Cornet
- OlivieriDybala84'
- 87'Caqueret
- 89'Marçal
- 90'+1'TeteDubois
- 90'+1'MendesAouar