Teenager Amad Diallo's expert header from a Bruno Fernandes pass had put an out-of-sorts Red Devils ahead in the 11th meeting between these clubs but the first outside of Europe's elite club competition.
Each side was missing key players but it was Milan who coped the better and had two goals disallowed, although Harry Maguire produced arguably the miss of the season with the scores at 0-0.
Diallo's impact came in the 50th minute but, with barely 90 seconds to play, Kjaer headed a corner past Dean Henderson to snatch a potentially crucial away goal.
Rafael Leao blasted beneath Henderson five minutes in but the forward had strayed well offside before Kjaer's long ball.
United was perhaps more fortunate to avoid going behind just six minutes later, Franck Kessie's sumptuous half-volley disallowed after a VAR check spotted the midfielder had handled the ball.
Milan had been the better side before Maguire somehow failed to put United ahead from a Telles corner, the captain sending the ball spinning away off the post when standing almost on the goal line.
Anthony Martial was limping at the end of the half and was replaced at the break by Diallo, leaving Ole Gunnar Solskjaer with a further problem in attack as Edinson Cavani and Marcus Rashford were already sidelined.
The teenager needed just five minutes to make an impact, racing onto Fernandes' lofted pass and nodding a backwards header over keeper Gianluigi Donnarumma.
Milan responded well to the setback and should have levelled through Rade Krunic, who headed over the crossbar after being picked out by Davide Calabria.
Daniel James spurned a great chance to make it 2-0, putting the ball wide from Mason Greenwood's cross with the goal gaping, and they were punished when Kjaer got free in the box and Henderson could only parry his header into the roof of the net.