Filippo Inzaghi scored on his return from injury to tie up the match for Milan.
The Italian international had been out for six months but came off the bench to give his side a lead in the 89th minute.
“I have been dreaming of this moment for the last six months,” said Inzaghi, “Scoring a goal today was fantastic because the game was not going well for us.”
Birthday boy Andriy Shevchenko opened the scoring following some aggressive forward play from Tommasson and Kaka.
“It was a great evening,” said Shevchenko, “It was my birthday and I scored. In the first half we played very well but we could have done better in the second.”
After the interval Martin O’Neill’s side looked a different prospect with direct wing play proving effective with Varga notched a 74th minute equaliser.
“In the second half we were fantastic,” said O’Neill. “It was a great performance and five or six of our players were simply stunning.”
Celtic can feel aggrieved not to have taken a point from the San Siro, but two late goals killing off a spirited comeback by the Scottish side.
Inzaghi notched what appeared to be a late winner for the home team before Andrea Pirlo’s deflected free kick put the game beyond doubt with a scoreline that flattered Milan somewhat.
“In the second half we suffered form their pressure, and the way they played the ball high,” conceded Milan Manager Carlo Ancelotti.
“But in the last minute we secured the three points. Maybe it was a mistake delaying the change, I should have sent Ambrosini on earlier. Inzaghi was also very important, and only has to get fit now to start a match.”
Martin O’Neill feels Celtic have unfinished business in the Champions League.
“We are not out of the competition yet, and I want to underline that fact,” said the Irishman.