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 pile driver 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.