Inter Milan edged out Barcelona to leave the Spanish club at risk of a second successive group-stage elimination in the Champions League.
Hakan Calhanoglu’s strike in first-half stoppage time was the difference at the San Siro, firing in low from 25 yards.
The visitors thought they had rescued a point when Pedri scored in the second half, however it was ruled out by VAR following a handball by Ansu Fati.
Defeat leaves Barcelona third in Group C, three points behind Inter.
Inter manager Simone Inzaghi came into the game under pressure, with the club ninth in Serie A after losing four of their eight league games this season.
He had the additional headache of facing in-form Robert Lewandowski, who had scored nine goals in his past seven games for Barca, although he had never netted at the San Siro.
It is a barren run that continued for Lewandowski as he endured a quiet night in Milan, while Inzaghi celebrated a key win that puts Inter in the driving seat for a place in the knockout stage.
Calhanoglu threatened what was to come after seven minutes, with a piledriver from 35 yards that was tipped over the crossbar by Marc-Andre ter Stegen.
Lewandowski had his first sight of goal shortly after, but scuffed his shot from 18 yards and never threatened Andre Onana’s goal after.
It was a night of VAR controversy, with the first flashpoint on 24 minutes – Eric Garcia clearly handled the ball in the area and a penalty appeared certain to be given after video review. However, a marginal offside was spotted in build-up and Barca escaped.
An evenly matched game was then decided by Calhanoglu’s goal in first-half added time, his 25-yard strike from a central position skidding across the turf past Ter Stegen at his near post for the midfielder’s first Champions League goal in five years.
Barcelona offered very little until the hour mark, when Dembele struck the post with a powerful effort from the left after good team build-up.
It then seemed Pedri had put Barca level after Cameroon keeper Onana came through a crowd of players and palmed a cross straight to him, allowing the 19-year-old to finish.
However, Fati had his hand raised and the ball was pushed into his fingers at point-blank range as he put Onana under pressure. The goal was ruled out via VAR, and Barcelona manager Xavi was booked for complaining to the referee.
Barcelona could not break through thereafter, despite the latter stages being played in Inter’s half, with echoes of their most famous meeting in 2010 when a Jose Mourinho masterclass saw his Milan side reach the final on their way to the Treble.
There was time for one last VAR incident when Denzel Dumfries appeared to handle in the area, however it was ruled he had not conclusively knocked a cross away from Fati with his wrist.
Line-ups
Inter Milan
Formation 3-5-2
- 24OnanaBooked at 90mins
- 37Skriniar
- 6de VrijSubstituted forAcerbiat 77′minutes
- 95BastoniBooked at 88mins
- 36DarmianSubstituted forGosensat 77′minutes
- 23BarellaBooked at 22mins
- 20ÇalhanogluBooked at 70minsSubstituted forAsllaniat 85′minutes
- 22Mkhitaryan
- 32DimarcoSubstituted forDumfriesat 76′minutes
- 10MartínezBooked at 76mins
- 11CorreaSubstituted forDzekoat 57′minutes
Substitutes
- 1Handanovic
- 2Dumfries
- 5Gagliardini
- 8Gosens
- 9Dzeko
- 12Bellanova
- 14Asllani
- 15Acerbi
- 33D’Ambrosio
- 40Botis
- 45Carboni
- 46Zanotti
Barcelona
Formation 4-3-3
- 1ter Stegen
- 20Roberto
- 15ChristensenSubstituted forPiquéat 58′minutes
- 24García
- 17AlonsoSubstituted forBaldeat 64′minutes
- 30Páez GaviraBooked at 76minsSubstituted forKessieat 83′minutes
- 5BusquetsBooked at 60mins
- 8González
- 7Dembélé
- 9Lewandowski
- 22RaphinhaSubstituted forFati Vieiraat 64′minutes
Substitutes
- 3Piqué
- 10Fati Vieira
- 11Torres
- 18Alba
- 19Kessie
- 26Peña Sotorres
- 28Balde
- 29Casadó
- 32Torre
- 36Tenas
- Referee:
- Slavko Vincic
- Attendance:
- 71,368
Match Stats
Live Text
-
Match ends, Inter Milan 1, Barcelona 0.
-
Second Half ends, Inter Milan 1, Barcelona 0.
-
Offside, Inter Milan. Kristjan Asllani tries a through ball, but Denzel Dumfries is caught offside.
-
André Onana (Inter Milan) is shown the yellow card.
-
Corner, Barcelona. Conceded by Robin Gosens.
-
Offside, Inter Milan. Denzel Dumfries tries a through ball, but Lautaro Martínez is caught offside.
-
Attempt missed. Sergio Busquets (Barcelona) header from the right side of the six yard box is high and wide to the right. Assisted by Ousmane Dembélé with a cross following a set piece situation.
-
Alessandro Bastoni (Inter Milan) is shown the yellow card for a bad foul.
-
Franck Kessie (Barcelona) wins a free kick on the right wing.
-
Foul by Alessandro Bastoni (Inter Milan).
-
Corner, Barcelona. Conceded by Denzel Dumfries.
-
Corner, Barcelona. Conceded by Kristjan Asllani.
-
Substitution, Inter Milan. Kristjan Asllani replaces Hakan Çalhanoglu.
-
Alejandro Balde (Barcelona) wins a free kick in the defensive half.
-
Foul by Nicolò Barella (Inter Milan).
-
Substitution, Barcelona. Franck Kessie replaces Gavi.
-
Foul by Pedri (Barcelona).
-
Nicolò Barella (Inter Milan) wins a free kick in the defensive half.
-
Corner, Barcelona. Conceded by Francesco Acerbi.
-
Substitution, Inter Milan. Robin Gosens replaces Matteo Darmian because of an injury.
Player of the match
DzekoEdin Dzeko
Inter Milan
-
Squad number9Player nameDzeko
Average rating7.28
-
Squad number20Player nameÇalhanoglu
Average rating7.26
-
Squad number2Player nameDumfries
Average rating7.02
-
Squad number15Player nameAcerbi
Average rating7.01
-
Squad number14Player nameAsllani
Average rating6.82
-
Squad number10Player nameMartínez
Average rating6.72
-
Squad number23Player nameBarella
Average rating6.66
-
Squad number32Player nameDimarco
Average rating6.60
-
Squad number24Player nameOnana
Average rating6.59
-
Squad number8Player nameGosens
Average rating6.51
-
Squad number11Player nameCorrea
Average rating6.50
-
Squad number37Player nameSkriniar
Average rating6.44
-
Squad number22Player nameMkhitaryan
Average rating6.28
-
Squad number36Player nameDarmian
Average rating6.20
-
Squad number6Player namede Vrij
Average rating6.14
-
Squad number95Player nameBastoni
Average rating6.06