Milan suffered a disappointing 3-1 defeat at mid-table Torino in Serie A on Saturday after being punished for a slow first-half performance.
Torino dominated the first 45 minutes, scoring with two headers; Duvan Zapata picked out the bottom corner after 26 minutes before Ivan Ilic doubled their advantage by throwing himself onto Raoul Bellanova's cross before the break.
Former Milan player Ricardo Rodriguez needed only 18 seconds in the second half to unleash a fierce left-foot shot from distance into the top corner of the net for Torino's third.
Ismael Bennacer converted a penalty for Milan in the 55th minute after a foul on Christian Pulisic, but the visitors, seemingly focused on their final match against relegated Salernitana, never threatened to get back into the game.
Torino are ninth in the standings on 53 points, while Milan will finish second in the standings behind local rivals Inter.
Data Debrief: Home comforts
Torino have lost just two of their home games in Serie A this season, finishing on a high against second-place Milan in what is possibly Ivan Juric's final game in charge.
Zapata proved an influential figure for Torino once more, and has scored the joint-most headed goals in the top five European league this season: eight (level with Harry Kane).