Patrick Cutrone was the late hero as AC Milan got the better of a stunning finish to beat Rijeka 3-2 in the UEFA Europa League.

The forward converted with 94 minutes played on Thursday, his intervention coming just after the visitors had stunningly overturned a two-goal deficit in the final 10 minutes at the San Siro.

It appeared Milan were cruising to victory when Andre Silva's fourth goal in two European outings this season was added to by Mateo Musacchio just after half-time.

But, having largely controlled proceedings thereafter, Vincenzo Montella's men were left shellshocked as their opponents roared back into the Group D contest.

Boadu Acosty offered hope in the 84th minute when capitalising on a rare Leonardo Bonucci error, with Rijeka levelling from the penalty spot after Alessio Romagnoli had brought down Matic Crnic.

Gianluigi Donnarumma failed to keep out Josip Elez's tame penalty, yet there was to be another twist as Cutrone ensured the night ended in heartbreak for Rijeka.

A Milan side showing wholesale changes from their weekend loss nearly got off to the worst possible start, Domagoj Pavicic finding himself in behind the hosts' defence before playing in Heber – who hit just wide.

The hosts gradually asserted their authority on the game thereafter and took the lead in the 14th minute.

Silva, running the left channel, got on the end of Fabio Borini's throughball and, after controlling, beat Elez before curling home.

Rijeka continued to threaten at the other end, with Jakov Puljic spurning a great opportunity when heading straight at Donnarumma.

Domagoj Bradaric was the first to really threaten in the second period, forcing Donnarumma into a comfortable stop from just outside the area.

But Rijeka were hit by a sucker punch in the 53rd minute as Musacchio made it 2-0.

Cutrone met an outswinging corner at the front post, with the ball falling to Bonucci – who inadvertently flicked into the six-yard box for his defensive partner to poke home.

Milan appeared to take their foot off the gas thereafter, content that they would be able to see the game out.

That appeared a sound plan until a remarkable finish that saw Rijeka bounce back against all odds.

Bonucci made a hash of a tackle on Acosty and the winger took full advantage, racing in on goal and chipping the onrushing Donnarumma.

Better was to come for the visitors, too, as Romagnoli's challenge gifted Elez the chance to level – which he just about took.

Suddenly reawakened, Milan made it six points from two games in the competition as Cutrone capitalised on Borini's pass to lift the ball over Simon Sluga and into the net.