Andre Silva gave Milan an early lead in the 14th minute after he fired Fabio Borini's assist into the bottom right corner, and there were several more attempts made by the duo throughout the first half.
However, Milan were frustrated by the Croatian team until Mateo Musacchio scored from close range, converting Leonardo Bonucci's corner in the 54th minute.
Premier League
Everton give Benitez 'full support' after director of football Brands leaves
Boadu Maxwell caused Milan problems in the closing moments, scoring from outside the box in the 84th minute, but the action didn't stop there.
Alessio Romagnoli conceded a penalty for Milan after fouling Matic Crnic in the area, which was duly converted by Josip Elez.
But just as it looked like Milan had given their points away, after four minutes of five of stoppage time had been played, Patrick Cutrone fired home from just outside the six-yard box to give the Italian side the edge.
Elsewhere in the competition Real Sociedad were beaten 3-1 by Zenit St Petersburg thanks to an early goal by Emiliano Rigoni in the 5th minute, when he hit home a left-footed shot from outside the box, and a brace by Aleksandr Kokorin.
Diego Llorente headed the consolation goal for Real from a Sergio Canales cross just before the half-time whistle.
Munas Dabbur scored the only goal in a match between Salzburg and Olympique de Marseille to give the Germans a 1-0 victory at home.

Europa League Group Stage Results

Maccabi Tel Aviv 0 - 0 Villarreal
Skenderbeu 1-1 BSC Young Boys
Partizan Belgrade 2-3 Dynamo Kiev
SC Braga 2-1 Medipol Basaksehir
Ludogorets 2-1 TSG 1899 Hoffenheim
AC Milan 3-2 HNK Rijeka
AEK Athens 2-2 Austria Wien
Everton 2-2 Apollon Limassol
Olympique Lyonnais 1-1 Atalanta
Sheriff Tiraspol 0-0 FC Copenhagen
Lokomotiv Moscow 3-0 FC Fastav Zlin
FC Lugano 1-2 FCSB
Viktoria Plzen 3-1 Hapoel Beer Sheva
BATE Borisov 2-4 Arsenal
FC Koln 0-1 Crvena Zvezda
Atiker Konyaspor 2-1 Vitoria Guimaraes
Red Bull Salzburg 1-0 Olympique de Marseille
Ostersunds FK 1-0 Hertha Berlin
Athletic Bilbao 0-1 Zorya Luhansk
OGC Nice 3-0 Vitesse
SS Lazio 2-0 Zulte Waregem
FC Zenit 3-1 Real Sociedad
Rosenburg BK 3-1 FK Vardar
FC Astana 1-1 Slavia Prague
Police investigate Bellingham's match-fixing outburst – reports
Premier League
'I must admit I was surprised' - Rangnick praises United for intensity, explains 4-2-2-2 decision