A double from the Swedish striker seals the win for the Rossoneri.
Zlatan Ibrahimovic gave Milan an early lead after being fouled by Kolarov in the box. The Swedish had his shot denied at first from the penalty box but he pounced on the rebound.
Ibrahimovic soon doubled up the lead after a brilliant counter-attack from Rossoneri. Rafael Leao worked a fine cross from the left flank, which found the feet of onrushing Ibrahimovic.
Inter responded with a goal from their behalf as Romelu Lukaku found the nets with a simple finish after a low cross from Ivan Perisic.
The Nerazzurri then gained control and they went all out for the equalizer.
However, a plethora of chances from them went begging in the second half.
Lukaku and Lautaro Martinez, who are known for their partnership, never looked compatible with one another the whole game. The lack of decisions and errors in the final third might be getting under the skin of Antonio Conte now.
Achraf Hakimi had a great chance to level the score after a sneaking run in behind Milan’s defence, but his header failed to find the nets.
Lukaku was hectic throughout the course and had a couple of chances denied in the dying seconds of the game.
Elsewhere, Milan succeeded in holding out their arch-rivals although they looked vulnerable at times.
The win marks the first of Milan in the derby after four games and they have now gone four matches without a defeat this season, making them the current leaders of the table.
Inter have dropped points in their last two games, with their last outing against Lazio ending in a draw.