Milan threw away a 2-0 lead against Rijeka with laughable defending, but Patrick Cutrone popped up for a stoppage-time 3-2 victory.
Vincenzo Montella was under pressure after a surprise Serie A defeat to Sampdoria, but won all five Europa League games – including the preliminary rounds – going into this meeting with Croatians Rijeka. There were injury concerns, missing Andrea Conti, Riccardo Montolivo, Luca Antonelli, Davide Calabria, Cristian Zapata and Gustavo Gomez.
The visitors had the first chance, as Eber sprung the offside trap to flash an angled drive across the face of goal. However, Andre Silva created a goal out of nothing, bursting down the left and cutting back inside the defender to smash his finish across the goalkeeper from a tight angle.
However, Puljic came close to an equaliser, his header too weak to trouble Gianluigi Donnarumma.
Fabio Borini in a new wide left role blasted off target, but the first half was largely uninspired. Jack Bonaventura replaced Hakan Calhanoglu, who had a knock to the back.
Milan doubled their lead from a corner, as it was knocked down for Leonardo Bonucci, accidentally bounced off his heel and into the path of Mateo Musacchio for the tap-in.
Play was halted for a couple of minutes when Rijeka fans, who had wreaked havoc in the city before kick-off, started throwing flares on to the pitch.
Misic hit a dipping long-range strike that Donnarumma had to palm out from under the bar, and Rijeka did get their consolation goal in frankly comical fashion.
Ex-Crotone midfielder Maxwell Acosty caught Bonucci in possession at the half-way line and was able to waltz undisturbed towards goal, where Donnarumma’s half-hearted rush off his line failed to stop the ball going in.
Rijeka gained in confidence and once again Milan were punished for lazy defending, as Crnic harassed Alessio Romagnoli into an error and the referee judged it to be a foul. Donnarumma guessed the right angle, but couldn’t keep out the Elez penalty.
It seemed as if they were doomed to an embarrassing draw at San Siro, but in stoppages Fabio Borini’s ball over the top allowed teenage hitman Cutrone to spring the offside trap and he stuck out a toe to flick it beyond the goalkeeper. It was a Pippo Inzaghi-esque finish.
Milan 3-2 Rijeka
Andre Silva 14 (M), Musacchio 53 (M), Acosty 84 (R), Elez pen 89 (R), Cutrone 94 (M)
Milan: G Donnarumma; Musacchio, Bonucci, Romagnoli; Abate, Kessie (Mauri 70), Locatelli, Calhanoglu (Bonaventura 46), Borini; Andre Silva (Suso 82), Cutrone
Rijeka: Sluga; Vesovic, Zuparic, Elez, Zuta; Kvrzic (Acosty 58), Misic, Bradaric, Heber; Puljic (Crnic 80), Pavicic (Males 71)
Ref: Grinfeld (ISR)