Cristiano Ronaldo scored two penalties to take his Champions League goal tally to 134 as Juventus beat a "scared" 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 his second from the spot after Clement Lenglet handled.
"We weren't aggressive," said Barca boss Ronald Koeman.
"It looked as if we'd come out looking not to lose, as opposed to trying to control the game. We weren't good, not even positionally.
"We looked scared."
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 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 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.
Griezmann said the defeat was not Koeman's fault.
"Who else's fault could it be other than the players? We're the ones who go out there and play," he said.
"We were missing everything - desire, attitude, a willingness to run. Everything was bad."
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.
Seeded teams (group winners) | Unseeded teams (group runners-up) |
Bayern Munich | Porto |
Manchester City | Sevilla |
Liverpool | Lazio |
Chelsea | Barcelona |
Borussia Dortmund | |
Juventus |
Line-ups
Barcelona
Formation 4-2-3-1
1ter Stegen
2Dest4Araujo15Lenglet18Alba
8Pjanic21F de Jong
17Machado Trincão10Messi16Pedri
7Griezmann
- 1ter Stegen
- 2Dest
- 4AraujoSubstituted forMinguezaat 82'minutes
- 15LengletBooked at 30minsSubstituted forUmtitiat 55'minutesBooked at 60mins
- 18AlbaBooked at 27minsSubstituted forFirpoat 55'minutesBooked at 78mins
- 8Pjanic
- 21F de Jong
- 17Machado TrincãoSubstituted forBraithwaiteat 45'minutes
- 10Messi
- 16PedriSubstituted forPuigat 66'minutes
- 7Griezmann
Substitutes
- 5Busquets
- 6Aleñá
- 9Braithwaite
- 12Puig
- 13Neto
- 14Coutinho
- 19Fernandes Siqueira
- 23Umtiti
- 24Firpo
- 26Peña
- 28Mingueza
- 29De la Fuente
Juventus
Formation 3-5-2
77Buffon
13Danilo19Bonucci4de Ligt
16Ju Cuadrado14McKennie5Arthur8Ramsey12Alex Sandro
9Morata7Cristiano Ronaldo
- 77Buffon
- 13DaniloBooked at 69mins
- 19Bonucci
- 4de Ligt
- 16Ju CuadradoSubstituted forBernardeschiat 85'minutes
- 14McKennie
- 5ArthurSubstituted forBentancurat 71'minutes
- 8RamseyBooked at 28minsSubstituted forRabiotat 71'minutes
- 12Alex Sandro
- 9MorataBooked at 53minsSubstituted forDybalaat 85'minutes
- 7Cristiano RonaldoSubstituted forChiesaat 90+2'minutes
Substitutes
- 1Szczesny
- 10Dybala
- 22Chiesa
- 25Rabiot
- 30Bentancur
- 31Pinsoglio
- 33Bernardeschi
- 34Da Graca
- 37Dragusin
- 38Frabotta
- 39Portanova
- 44Kulusevski
Referee:Tobias Stieler
Match Stats
Live Text
Match ends, Barcelona 0, Juventus 3.
Second Half ends, Barcelona 0, Juventus 3.
Substitution, Juventus. Federico Chiesa replaces Cristiano Ronaldo.
Foul by Óscar Mingueza (Barcelona).
Alex Sandro (Juventus) wins a free kick on the left wing.
Attempt saved. Lionel Messi (Barcelona) left footed shot from outside the box is saved in the bottom left corner. Assisted by Antoine Griezmann.
Attempt missed. Antoine Griezmann (Barcelona) left footed shot from outside the box is high and wide to the left. Assisted by Sergiño Dest.
Offside, Barcelona. Martin Braithwaite tries a through ball, but Antoine Griezmann is caught offside.
Substitution, Juventus. Paulo Dybala replaces Álvaro Morata.
Substitution, Juventus. Federico Bernardeschi replaces Juan Cuadrado.
Attempt missed. Lionel Messi (Barcelona) left footed shot from outside the box is close, but misses to the left. Assisted by Miralem Pjanic.
Attempt blocked. Lionel Messi (Barcelona) left footed shot from outside the box is blocked. Assisted by Riqui Puig.
Substitution, Barcelona. Óscar Mingueza replaces Ronald Araujo.
Attempt missed. Miralem Pjanic (Barcelona) right footed shot from outside the box is high and wide to the right. Assisted by Riqui Puig.
Ronald Araujo (Barcelona) wins a free kick in the defensive half.
Foul by Adrien Rabiot (Juventus).
Junior Firpo (Barcelona) is shown the yellow card.
Foul by Riqui Puig (Barcelona).
Rodrigo Bentancur (Juventus) wins a free kick on the right wing.
Attempt saved. Lionel Messi (Barcelona) left footed shot from outside the box is saved in the top left corner.
ncG1vNJzZmivp6x7o67CZ5qopV%2BovbC%2B02idqKekl66tuI5ubGtpaWqBdA%3D%3D