Milan were stunned by a looping header from Milan Pavkov in stoppage time as 10-man Red Star Belgrade snatched a 2-2 draw in their Europa League clash in Serbia.
These teams won European Cup titles in successive years a generation ago, with Milan's 1990 success followed by Red Star landing the title 12 months later, but this season they are scrapping for success at the last-32 stage in the second tier of UEFA club competition.
An own goal from Radovan Pankov gave Milan a slender half-time advantage, which was wiped out when Guelor Kanga netted a penalty for the hosts soon after the break.
But Pankov's second costly defensive mistake gave Milan a spot-kick of their own, and Theo Hernandez fired home to put the visitors seemingly in charge at that stage, ahead of the San Siro return game next week. Milan Rodic was sent off late on for the hosts so he can forget the trip to Italy, but Pavkov's late intervention means it could still be a fruitful visit for Red Star.
Milan winger Samu Castillejo had a sixth-minute goal disallowed for offside, but the Rossoneri looked to have gone ahead in the 12th minute. Goalkeeper Milan Borjan failed to catch Pierre Kalulu's cross from the right, as Mario Mandzukic made a nuisance of himself, and the ball ran loose for Hernandez to tap in.
A VAR check cancelled the strike, however, with replays showing the ball bounced against the left arm of Hernandez before he found the empty net, giving Red Star a fortunate escape.
Mirko Ivanic was then denied twice by Gianluigi Donnarumma, either side of Ante Rebic spurning a decent chance for Milan when firing over the crossbar.
Milan's breakthrough came in the 42nd minute, with Castillejo's low cross from the right touched past Borjan by home defender Pankov, almost in slow motion, for an own goal. Borjan got gloves to the ball but it trickled beyond him and across the line.
Rebic was replaced by Rafael Leao for the second half, but Milan were pegged back after conceding a penalty in the 51st minute, a flick towards goal from Diego Falcinelli striking the right arm of Alessio Romagnoli. Kanga drove into the bottom left corner from the spot.
Milan were awarded a spot-kick themselves eight minutes later when Hernandez went down under Pankov's challenge. Hernandez placed his penalty to the left corner as Borjan dived the other way.
Rodic's late red card, for a pair of bookable offences, might have finished off some teams, but Red Star kept going and Pavkov's terrific header keeps them firmly in the tie.
What does it mean? Milan far from their best
Ahead on the scoreboard and with a one-man advantage, this should have been a game that Milan closed out. However, they are going through a sticky spell and that made Pavkov's late equaliser, which arrived in the third added minute, not the great surprise it would have been had this fixture taken place a month ago.
They have relinquished top spot in Serie A to Inter after recent losses to Atalanta and Spezia, and this was another unconvincing show, with Red Star leading the shot count 21-12. That said, Milan left Zlatan Ibrahimovic and Franck Kessie on the bench for the duration, signalling the quality they can bring in for the second leg.
Hernandez gives a spot-on display
As well as winning and converting his penalty, Hernandez was a frequent irritant to the Red Star defence. He was unlucky when denied a goal early on after the ball struck his hand prior to tapping home, but his energy down the left drove Milan forward repeatedly. He gained possession eight times, matching a team-high, and made a useful three clearances.
Perhaps his main rival to be acclaimed Milan's best performer was on-loan defender Fikayo Tomori, who made more passes (50) than anyone else in blue and also produced two handy blocks.
It was a night to forget for the poor Red Star centre-back, who looked put out by his goalkeeper failing to deal with the ball he played back from close range, instead letting it roll into the back of the net. And Pankov seemed aggrieved with the penalty decision that went against him too, but his attempted tackle on Hernandez was clumsy at best.
He made a couple of clearances and won possession five times for his team, but Pankov was no doubt delighted that Pavkov transformed the narrative with his late intervention.
Milan have a huge Serie A derby with Inter awaiting them on Sunday, while Red Star take on Spartak Subotica in the SuperLiga on Sunday.