Match ends, Milan 2, Torino 0.
AC Milan opened up a four-point lead at the top of Serie A as they welcomed back Zlatan Ibrahimovic from injury in a comfortable win over Torino.
The Swedish forward - fit after a thigh problem - came on as a late substitute in a game that the hosts dominated.
Rafael Leao opened the scoring with a placed effort from Brahim Diaz's pass.
And Franck Kessie doubled their lead with a penalty after a lengthy VAR review confirmed Diaz had been fouled by Torino captain Andrea Belotti.
It was an impressive performance from the Rossoneri, who have now played a game more than their top-of-the-table rivals Inter Milan and Roma, who face each other on Sunday.
Former Milan left-back Ricardo Rodriguez hit the crossbar with a free-kick for the visitors, who also had a penalty claim correctly dismissed by VAR when Simone Verdi fell over after kicking Milan midfielder Sandro Tonali.
Otherwise it was a relatively untroubled evening for the hosts, who brought on Ibrahimovic for his first appearance since 22 November.
- Your diet's carbon footprint: Calculate the impact and how to change it
- A Perfect Planet: Sir David Attenborough shows us the forces of nature that support the Earth
- 2CalabriaBooked at 85mins
- 13RomagnoliBooked at 41mins
- 8TonaliBooked at 45minsSubstituted forDalotat 54'minutesBooked at 65mins
- 7Castillejo Azuaga
- 21DíazBooked at 38minsSubstituted forCalhanogluat 60'minutes
- 15HaugeSubstituted forMaldiniat 85'minutes
- 17da Conceição LeãoBooked at 79minsSubstituted forIbrahimovicat 85'minutes
- 20Kalulu Kyatengwa
- 43Campos Duarte da Silva
- 5IzzoSubstituted forZazaat 64'minutes
- 4Silveira Neves Vojnovic
- 3Silva Nascimento
- 88RincónBooked at 27minsSubstituted forSegreat 76'minutesBooked at 90mins
- 10GojakSubstituted forLinettyat 45'minutes
- 13RodríguezSubstituted forMurruat 64'minutes
- 9BelottiSubstituted forBonazzoliat 85'minutes
- Fabio Maresca
- Shots on Target
Second Half ends, Milan 2, Torino 0.
Hand ball by Zlatan Ibrahimovic (Milan).
Karol Linetty (Torino) wins a free kick in the defensive half.
Foul by Samu Castillejo (Milan).
Attempt missed. Bremer (Torino) header from the centre of the box misses to the left. Assisted by Wilfried Stephane Singo following a corner.
Corner, Torino. Conceded by Franck Kessié.
Attempt blocked. Simone Verdi (Torino) left footed shot from the left side of the box is blocked. Assisted by Karol Linetty.
Foul by Bremer (Torino).
Davide Calabria (Milan) wins a free kick on the right wing.
Jacopo Segre (Torino) is shown the yellow card for a bad foul.
Foul by Jacopo Segre (Torino).
Zlatan Ibrahimovic (Milan) wins a free kick on the left wing.
Wilfried Stephane Singo (Torino) wins a free kick in the attacking half.
Foul by Daniel Maldini (Milan).
Attempt missed. Jacopo Segre (Torino) right footed shot from outside the box is close, but misses to the right.
Foul by Wilfried Stephane Singo (Torino).
Daniel Maldini (Milan) wins a free kick on the left wing.
Substitution, Torino. Federico Bonazzoli replaces Andrea Belotti.
Substitution, Milan. Daniel Maldini replaces Jens Petter Hauge.