Milan go through despite draw at BATE Borisov
The seven-times European Cup winners went through to February's knockout stages after holders Barcelona also qualified by beating Viktoria Plzen in the later Group H game.
The results mean Milan, now second in the group with eight points, cannot be caught by the bottom-placed Czech side or BATE. They have a better head-to-head record over the Belarussians who are in third place on two points with two games left.
Milan's Sweden striker Zlatan Ibrahimovic gave his side the lead in the 22nd minute after taking the ball off a defender, giving it to Robinho and then calmly slotting in the return pass with the home defence nowhere nearby.
The visitors celebrated the goal with Kevin-Prince Boateng revealing the shirt of team-mate Antonio Cassano, recovering in a Milan hospital after being struck down with a debilitating illness. An update on his condition is due on Wednesday.
The Italian champions were in fine form in the first half but BATE improved markedly after the break and equalised in the 55th when Brazilian Renan Bressan converted a penalty after defender Ignazio Abate barged down Artyom Kontsevoi.
Champions League debutant referee Peter Rasmussen of Denmark had no hesitation pointing to the spot despite furious protests from Milan that the challenge was merely a shoulder charge.
"It's typical in football. If you don't kill games off when you can, then anything can happen," AC Milan coach Massimiliano Allegri told reporters.
"In the end we risked losing a game that was in our hands for more than an hour."
Milan had several first-half chances and striker Robinho, who was lucky to escape sanction in an elbow incident, hit the post after running clear of the static defence.
The Brazilian also had a fierce effort tipped over the bar while Ibrahimovic saw a free-kick saved in the Dinamo Stadion.
The Belarus champions forced Christian Abbiati into only one decent stop before the interval with forward Maksim Skavysh, surprisingly preferred to Mateja Kezman, having a header well-saved but the second half was totally different.
The home crowd made more and more noise as unheralded BATE continually troubled Milan's stunned defence and they well deserved the draw and could even have taken a famous win at the end.
They next host Viktoria, who have one point, on November 23 in a bid to secure third spot and a place in the Europa League.
Milan welcome Barca the same night when the only relevant factor will be who finishes top of the group to receive a better seeding in the last-16 draw.