Cristiano Ronaldo's brace after having gone behind early on was not enough as Juventus were shoved out of the Champions League by a gritty Olympique Lyon.
The 35-year-old was on target twice in the 2-1 win, but the visitors qualified for the quarterfinals courtesy of the vital away goal they bagged early on in the game.
It was indeed a controversial fixture, with a soft penalty handed by the referee to either side. While Memphis Depay calmly slotted home the first after Rodrigo Bentancur supposedly fouled Houssem Aouar, Ronaldo capitalised on a hand ball later.
In reality, neither was it a foul, nor was Depay guilty for handling the ball from Miralem Pjanic's free-kick.
Juventus, meanwhile, were still below par owing to their flat-footed, uninspiring attacking display that had plenty of the ball but not enough goals to mount a comeback.
On that note, we rate the Juventus players from their discouraging Champions League exit.
Juventus Player Ratings
Wojciech Szczesny: 6/10
Could do nothing about the artistry behind Depay's penalty, and was hardly tested otherwise as Lyon aimed to see out the game with the lead on aggregate.
Juan Cuadrado: 7/10
Cuadrado looked composed at the back as he went on to win headers and chip in with tackles. Most importantly, he infused a major link between the defence and attack with passes fizzed into the channels.
He, however, misplaced no fewer than four balls in the bid to be inventive during the second-half. Clearly, Cuadrado's game with the ball was defined by two halves.
Matthijs de Ligt: 6/10
De Ligt was a little shaky during the opening exchanges of the game with his clearances, but he settled as Lyon began to soak in the pressure after the opening goal. He rounded off the game with a neat display encapsulated with some sharp blocking, mopping up and passing.
Leonardo Bonucci: 5.5/10
To be fair, Bonucci and his partner De Ligt were barely tested due to all of Juventus' possession and Lyon's quest to get back to their shape. He could have done better with his range of passing and accuracy, though.
Alex Sandro: 8/10
Sandro was a willing runner on the left flank, as he squirmed through the lines repeatedly, whipped in early crosses and showed real intent to get forward and push for the goals. Defensively, as well, he was sound, knowing exactly when to narrow down or ensemble himself in a wider back line.
Rodrigo Bentancur: 5/10
Bentancur and many others around the globe would feel it was a harsh decision by the referee. The midfielder was there at the right place on quite a few occasions. The one thing visibly missing from his game was an attacking contribution in advanced areas of the pitch. One could argue that Bentancur should have been a little more brave up front.
Miralem Pjanic: 6.5/10
Pjanic put in another decent shift for Juventus at the heart of midfield. He was the sole reason behind the recycling of possession.
Lyon tried to break through many a time through the likes of Depay or Aouar, but there stood Pjanic to rob the ball back and keep things ticking.
Adrien Rabiot: 6/10
Rabiot was a little passive with his role early on, but soon began to step out and help the Juventus front three. He did play a host of crosses towards the path of Gonzalo Higuain and Ronaldo, but not all of them were played in with the desired quality.
Federico Bernardeschi: 4/10
Apart from one mazy run to the byline where he really should have tapped the ball into the back of the net, Bernardeschi was short of ideas in the game. All he managed to do was move sideways with the ball or curl in a few passes that ultimately came to no good. He was hardly involved in the second half.
Gonzalo Higuain: 4/10
There were moments during the game where Higuain was nowhere to be seen on the pitch - such was his lack of involvement in the lead-up. Barring a header in the first half and another chance in the second, the Argentine had nothing else to show for in front of goal. He was a mere passenger, and was also at times muscled off the ball.
Cristiano Ronaldo: 9/10
Ronaldo, for the umpteenth time this season, proved to be Juventus' only ray of hope when not much was going their way. He was never in doubt from the spot, but the former Real Madrid man's mentality and hunger took centre stage when he let fly an absolute beauty with his left foot.
Ronaldo never gave up despite fluffing a handful of chances early on in the game, continued to probe and created most of Juventus' chances in the second-half. While he did orchestrate a win by leading from the front, it was not enough for the Old Lady to progress.
Juventus Substitutes
Aaron Ramsey - 5/10
Ramsey won a few fouls for Juventus and tried to find spaces, but could not really manage to impose his presence on proceedings.
Danilo - 5/10
Danilo made a couple of exciting runs down the pitch. Otherwise, he was just a part of Juventus' lacklustre attacking approach.
Paulo Dybala - N/A
One of the most discouraging things to witness was Dybala's injury. The Juventus Serie A MVP came on to inject some creativity and inspiration, only to be subbed out 12 minutes later due to another muscle pull.
Marco Olivieri N/A
Played for just about 10 minutes or so, and hence cannot be rated.
Also read: Bayern Munich vs Chelsea prediction, preview, team news and more | UEFA Champions League 2020