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.