AC Milan held off a second-half fightback from Udinese to edge a five-goal thriller 3-2 in their Serie A clash this evening.
Milan started the game brightly, and won a free kick just outside the penalty area on five minutes when Mario Balotelli was brought down by Edenilson. Balotelli stepped up to take the set piece, and curled a shot past Orestis Karnezis in the Udinese goal.
Milan doubled their lead after just 10 minutes through Giacomo Bonaventura, who picked up a through ball from Riccardo Montolivo before producing a neat finish inside the penalty area.
Sinisa Mihajlovic's side could have added another goal to their tally when Montolivo fired wide from outside the box, before Carlos Bacca saw an attempt blocked by the Udinese defence.
Milan added a third goal on the stroke of half time as Cristian Zapata headed in from a Bonaventura corner.
Udinese had struggled to create any chances in the first half, and head coach Stefano Colantuono responded after the break by replacing defender Ivan Piris with striker Duvan Zapata.
The substitution worked well for the hosts, and they pulled a goal back on 51 minutes through Emmanuel Agyemang-Badu, who produced a cool finish past Diego Lopez from inside the penalty box.
Udinese added a second goal after 58 minutes, as Cyril Thereau found substitute Zapata, who finished from close range to bring his side back into the match.
Milan missed a couple of chances to restore a two-goal cushion, as Nigel de Jong headed over the bar from a Balotelli free kick, before Bonaventura fired narrowly wide from outside the box.
Maurizio Domizzi almost found an equaliser for the hosts soon after, but the centre-back headed over the bar from an Antonio Di Natale corner.
The visitors held off a late onslaught by Udinese, as Edenilson saw an effort from the right-hand side diverted for a corner, before Bruno Fernandes forced a save from Lopez and Molla Wague headed wide from a Di Natale cross.
With less than two minutes remaining in added time, Udinese's hopes of a comeback diminished as Fernandes picked up a second yellow card for dissent.