Cristiano Ronaldo scored two penalties to take his Champions League goal tally to 134 as Juventus beat Barcelona to seal top spot in Group G.
Ronaldo sent Marc-Andre ter Stegen the wrong way after being fouled by Uruguay defender Ronald Araujo.
Juve doubled their lead through Weston McKennie’s bicycle kick before Ronaldo added a second with a video assistant referee-awarded penalty.
It is Barcelona’s first defeat in a group game since 2016.
They started the day with a three-point cushion over Juve but finish second and will be unseeded in next Monday’s last-16 draw.
Barcelona forward Lionel Messi and Ronaldo, regarded as the two greatest players of their generation, were facing one another for the first time since May 2018.
While Ronaldo scored two, Messi was frustrated by 42-year-old Juve keeper Gianluigi Buffon, who made a string of fine saves.
Ronaldo comes out on top against Messi
This was the 36th, and possibly final, meeting between great rivals Messi and Ronaldo on the international, European and domestic stage.
They have won the Champions League nine times between them, scoring a combined 252 goals in the competition.
But this was Ronaldo’s night, the Portuguese scoring for the first time in the Champions League against Barcelona with Messi on the pitch.
Twelve years on from their first meeting, Ronaldo, the all-time leading scorer in Champions League history, got the better of his arch-rival.
Earlier in the 2020-21 season, Messi became the first player to score in 16 successive Champions League campaigns.
Messi had seven shots on target but could find no way past Buffon, while Antoine Griezmann headed against the bar.
At the age of 35, Ronaldo might not get too many more chances to cross swords with Messi.
He still trails Messi 16-11 in terms of victories between the two but this was a night to savour for Juventus’ former Real Madrid player.