Match ends, Inter Milan 1, Milan 0.
Inter Milan captain Mauro Icardi scored a dramatic injury-time winner as they beat city rivals AC Milan at the San Siro in Serie A.
The 222nd Milan derby was petering out before the Argentine striker headed in Matias Vecino's cross.
Inter - who lost Radja Nainggolan to a first-half injury - were deserved winners, but it was a lacklustre game.
The closest either side came before the winner was Inter's Stefan de Vrij hitting the post from close range.
Icardi - who only touched the ball 15 times in the entire game - and AC Milan's Mateo Musacchio both had goals correctly disallowed for offside.
Inter move up to third with the victory - with AC Milan remaining 12th.
Match ends, Inter Milan 1, Milan 0.
Second Half ends, Inter Milan 1, Milan 0.
Foul by Borja Valero (Inter Milan).
Suso (Milan) wins a free kick on the right wing.
Keita (Inter Milan) is shown the yellow card.
Foul by Mauro Icardi (Inter Milan).
Ignazio Abate (Milan) wins a free kick on the right wing.
Goal! Inter Milan 1, Milan 0. Mauro Icardi (Inter Milan) header from the centre of the box to the centre of the goal. Assisted by Matías Vecino with a cross.
Substitution, Milan. Ignazio Abate replaces Davide Calabria.
Tiemoué Bakayoko (Milan) is shown the yellow card for a bad foul.
Matías Vecino (Inter Milan) wins a free kick in the defensive half.
Foul by Tiemoué Bakayoko (Milan).
Corner, Milan. Conceded by Milan Skriniar.
Substitution, Milan. Tiemoué Bakayoko replaces Franck Kessié.
Corner, Milan. Conceded by Mauro Icardi.
Attempt blocked. Suso (Milan) left footed shot from outside the box is blocked.
Substitution, Inter Milan. Antonio Candreva replaces Matteo Politano.
Foul by Milan Skriniar (Inter Milan).
Suso (Milan) wins a free kick in the attacking half.
Attempt saved. Mauro Icardi (Inter Milan) header from the centre of the box is saved in the top centre of the goal. Assisted by Keita with a cross.
Attempt saved. Suso (Milan) left footed shot from the centre of the box is saved in the bottom right corner. Assisted by Ricardo Rodríguez with a cross.
Foul by Kwadwo Asamoah (Inter Milan).
Suso (Milan) wins a free kick in the attacking half.
Attempt missed. Borja Valero (Inter Milan) right footed shot from the centre of the box is too high.
Keita (Inter Milan) wins a free kick on the left wing.
Foul by Lucas Biglia (Milan).
Matteo Politano (Inter Milan) is shown the yellow card for a bad foul.
Foul by Matteo Politano (Inter Milan).
Giacomo Bonaventura (Milan) wins a free kick in the attacking half.
Attempt blocked. Matteo Politano (Inter Milan) left footed shot from outside the box is blocked. Assisted by Mauro Icardi.
Substitution, Milan. Patrick Cutrone replaces Hakan Calhanoglu.
Substitution, Inter Milan. Keita replaces Ivan Perisic.
Foul by Marcelo Brozovic (Inter Milan).
Franck Kessié (Milan) wins a free kick in the defensive half.
Foul by Kwadwo Asamoah (Inter Milan).
Suso (Milan) wins a free kick in the defensive half.
Attempt missed. Hakan Calhanoglu (Milan) right footed shot from long range on the left is close, but misses to the left.
Attempt blocked. Lucas Biglia (Milan) right footed shot from outside the box is blocked.
Attempt missed. Marcelo Brozovic (Inter Milan) right footed shot from outside the box misses to the left following a corner.
Corner, Inter Milan. Conceded by Gonzalo Higuaín.