SUBSTITUTIONpublished at 78 mins
AC Milan 0-2 Inter Milan
Inter Milan make their first changes of the game as the title gets ever closer.
Federico Dimarco is replaced by Carlos Augusto while Nicolo Barella makes way for Davide Frattesi.
Inter wrap up title with derby win
Acerbi unmarked to head in from Inter corner, Thuram thumps in fantastic second
Tomori pulls one back for Milan with header
Simone Inzaghi's side last lost league game in September
Gary Rose
AC Milan 0-2 Inter Milan
Inter Milan make their first changes of the game as the title gets ever closer.
Federico Dimarco is replaced by Carlos Augusto while Nicolo Barella makes way for Davide Frattesi.
AC Milan 0-2 Inter Milan
AC Milan are creating a few more chances now, but nothing to really worry Intner as Theo Hernandez's deflected strike loops into Yann Sommer's gloves.
AC Milan 0-2 Inter Milan
Christian Pulisic, who I almost forgot was playing he has had so little impact in this game, controls the ball inside the box then sweeps an effort over.
AC Milan 0-2 Inter Milan
Inter have a corner, but the delivery is sent way off target by Benjamin Pavard.
AC Milan 0-2 Inter Milan
It hasn't been a classic but it has gone just how Inter Milan will have wanted. They have been comfortable and could have scored more.
AC Milan 0-2 Inter Milan
Yacine Adli is replaced by Ismael Bennacer, and Adli doesn't look best pleased about it.
Ruben Loftus-Cheek is also replaced by Samuel Chukwueze.
AC Milan 0-2 Inter Milan
It still isn't working for AC Milan, despite the introduction of Olivier Giroud. Will more changes be made?
AC Milan 0-2 Inter Milan
It is is getting hard to see much now on the pitch as loads of smoke has drifted over it, set off by presumably celebrating Inter fans.
AC Milan 0-2 Inter Milan
Henrikh Mkhitaryan spots Mike Maignan way off his line and goes for goal from 40 yards but he sends it nowhere near.
AC Milan 0-2 Inter Milan
Lautaro Martínez is away down the flank, offside surely? No the flag stays down so off he goes. Martinez bends the ball behind the defence but just out of Marcus Thuram's reach.
Play continues for a while longer, enough time for Inter to send a shot over the bar before finally the flag goes up for Martinez's offside.
An unnecessarily long passage of play before finally being brought back.
AC Milan 0-2 Inter Milan
AC Milan have a corner and they now have Olivier Giroud to aim for, but the delivery is headed away.
AC Milan 0-2 Inter Milan
Plenty of crisp one-touch passing from Inter Milan. They are brimming with confidence.
AC Milan 0-2 Inter Milan
AC Milan are struggling to get hold of the ball at the moment. Inter are toying with them.
AC Milan 0-2 Inter Milan
Now AC Milan turn to Olivier Giroud as the former Arsenal and Chelsea striker comes on for Tijani Reijnders.
AC Milan 0-2 Inter Milan
AC Milan have defended disappointingly for both goals but they set about trying to make amends as Theo Hernandez's low drive is beaten away by Yann Sommer.
Marcus Thuram
Surely the goal that seals the title!
Once again, it is all too easy for Inter Milan as Marcus Thuram runs along the edge of the box before driving into the bottom corner.
Clinical finish.
AC Milan 0-1 Inter Milan
Once again, Milan start a half with plenty of possession before Davide Calabria strides forward and tries to pick out Rafael Leao with a ball into the box, but the striker is beaten to it.
AC Milan 0-1 Inter Milan
We're back under way - finally - at the San Siro.
AC Milan 0-1 Inter Milan
This has felt like the longest half-time ever. Good for the players, who will be well rested for the second 45 minutes.
AC Milan 0-1 Inter Milan
That goal for Inter means they have scored in their last 41 Serie A matches. It is already a club record but they could yet surpass Juventus' all-time total of 44 by the end of this season.