
Inter are unbeaten in their last six Serie A Milan derbies for the first time since 1999
Inter Milan moved above city rivals AC Milan into third place in Serie A with victory in a fiercely fought derby.
Matias Vecino fired in from close range to give Inter a half-time lead.
Stefan De Vrij nodded in to make it 2-0 before Tiemoue Bakayoko headed past Samir Handanovic to give Milan hope.
Lautaro Martinez's penalty made it 3-1, after Samu Castillejo tripped Matteo Politano, although Mateo Musacchio's 71st minute strike made it a nervy last few minutes for Inter.
During that period VAR overturned referee Marco Guida's original decision to send Milan's Andrea Conti off for a tackle on Martinez. Inter coach Luciano Spalletti protested and was consequently sent off.
Inter now have 53 points from 23 games, two points and a place above Milan.