Milan reached the last 16 of the UEFA Champions League by holding Ajax to a goalless draw despite playing much of the game with 10 men.
Milan captain Riccardo Montolivo was sent off for a lunge on Christian Poulsen after only 22 minutes at San Siro, but Ajax were unable to secure the victory they needed to progress from Group H.
Poulsen was denied by the post before Montolivo saw red and Serie A outfit Milan dug deep with a dogged defensive display to secure second place behind Barcelona.
Ajax were totally dominant but failed to make the most of their numerical advantage as they missed a golden opportunity to reach the last 16 for the first time in eight years and were forced to settle for a UEFA Europa League spot.
Fit-again Milan striker Stephan El Shaarawy made his first start since August, while right-back Mattia De Sciglio also returned in one of five changes made by Massimilano Allegri.
Poulsen, Bojan Krkic and Stefano Denswil all came in for Ajax, who started brightly and nearly took the lead in the fourth minute.
Manager Frank De Boer insisted the Eredivisie champions had nothing to lose at the San Siro and they were only denied by the woodwork as Poulsen's glancing header struck the far post from a Lasse Schone corner.
Ajax were brimming with confidence and recalled Milan goalkeeper Christian Abbiati got down well to tip Davy Klaassen's header around the near post.
Milan's hopes of progressing to the last 16 then suffered a major setback when Montolivo was given his marching orders by referee Howard Webb for a reckless late challenge on Poulsen.
Allegri was forced into a reshuffle as a result, as El Shaarawy's comeback was short-lived, with Andrea Poli replacing him in a bid to bolster Milan's midfield.
De Boer replaced defensive midfielder Poulsen with striker Danny Hoesen at the break and the visitors piled on the pressure at the start of the second half, with Viktor Fischer firing over the crossbar from the edge of the penalty area.
Klaassen then fired straight at a grateful Abbiati from 20 yards out as Ajax continued to probe and the tension mounted.
Abbiati was called into action again after 65 minutes to save with his feet to keep out Fischer's drilled right-foot strike after some lovely build-up play.
Klaassen spurned a great chance when he scuffed a shot wide of the far post 17 minutes from time as Ajax's frustration built and Denswil fired wide in a feisty finale.
Then midfielder Klaassen was narrowly off target with the last kick of the game as a gutsy Milan side stood firm on a frustrating night for the Dutch giants.
|2||M. De Sciglio||89'|
|34||N. de Jong||83'|
|92||S. El Shaarawy|
|Coach: M. Allegri|
for S. El Shaarawy 24'
for Kaká 81'
|Andre Gomes can play in Busquets role, insists Luis Enrique|
|Aguero´s dangerous tackle scared me, says Conte|
|Guardiola: We are killing the players|
|Bournemouth announce plans for new stadium|
|Former Bayern Munich and Real Madrid star Ze Roberto to play beyond 43rd birthday|
|Barcelona friendly awaits new Chapecoense coach Mancini|
|Arsenal are privileged to have Sanchez and Ozil - Monreal|
|Watzke denies agreement to discuss Aubameyang transfer with Madrid|
|Paris Saint-Germain v Nice: Champions hunting down shock leaders|
|Giggs tells Rashford how to end his goal drought|
|Manchester United without Shaw, Smalling for Tottenham clash|
|Willems inks PSV renewal|
|Costa and Conte scoop Premier League awards|
|Conte detained on suspicion of assault|
|Strootman ban for derby ´simulation´ overturned|
|Mourinho demands more goals from Rooney|
|Bobo preserves Sydney´s unbeaten start in Cup final rematch|
|Luis Enrique: I don´t dare predict if Messi will renew|
|Mourinho admits changing style for United|
|Sanchez talk is disrespectful, says Conte|
|Sassuolo 0 Genk 2: Visitors seal top spot|
|Sterling back for City as Guardiola predicts tough Leicester test|
|Mourinho still the ´Special One´ for Pochettino|
|Matic return leaves Conte with Fabregas dilemma|
|Guardiola expects greater impact from City youngsters next season|
|Klopp defends Karius after Bournemouth blunder|
|Pirlo visits Chelsea - but Conte is not signing him|
|Ronaldo, Modric rested for Deportivo clash|
|Tuchel hails returning Reus|
|Klopp has ´no idea´ on Sturridge return|
|´My players are intelligent and good people´ - Zidane on Ronaldo´s taxes|
|Atletico to play at ´Wanda Metropolitano´|
|Real Madrid to rest Benzema and start Morata against Deportivo|
|Ancelotti rules out Draxler bid as Bayern prepare for barren transfer window|
|Ighalo calls on Watford to sign Mikel|
|Pardew wants defender and striker to bolster Palace survival push|
|Moyes: M´Vila doesn´t have the fight for Sunderland|
|Leipzig only built to earn Red Bull money - Watzke|
|Shenhua director blasts CSL imports... but desperate for Tevez deal|
|Ribery: Bayern my last club in Europe|
|Hughes targets Arsenal fans to help Stoke end dismal away run|
|83 suspects, 98 clubs ´impacted´ in football abuse probe|
|Fowler pleads with Liverpool to keep ´top quality´ Sturridge|
|Reus ´100 per cent different´ on comeback|
|Ibrahimovic ´super happy´ for rejuvenated Mkhitaryan|
|Vertonghen: Football needs Mourinho|
|Title triumph went to Leicester´s heads, admits Ranieri|
|Conceicao named new Nantes coach|
|LaLiga lead means nothing - Zidane|
|Chapecoense add two stars to badge in wake of air disaster|
|Blatter accuses Infantino of lack of respect|
|Austin injury compounds Puel´s misery|
|Gestifute publishes further evidence of ´Ronaldo tax compliance´|
|Pioli eyes further Inter improvement|
|´I feel s***´ - Van Dijk blasts Southampton after Europa League collapse|
|Mourinho marvels at Mkhitaryan mentality after Zorya stunner|
|Southampton 1 Hapoel Be´er Sheva 1: Late Van Dijk leveller not enough as visitors progress|
|Inter 2 Sparta Prague 1: Eder double sends hosts out on a high|
|Vieira wanted Arsenal coaching opportunity|
|Vieira hopes MLS experience puts him in frame to replace Guardiola|
|Mkhitaryan: I waited a long time for this|
|Zorya 0 Manchester United 2: Mkhitaryan magic sends Mourinho´s men through|
|Ranieri urges Leicester players to fight for their futures|
|Cellino banned for 18 months over McCormack transfer|
|Koeman demands reaction from dropped Barkley|
|Tevez unsure on Boca future amid China speculation|
|Bradley vows to fight for his job at Swansea|
|Koeman speaks out on Depay, Schneiderlin links|
|Wenger unconvinced by World Cup expansion plans|
|Kovac brothers sign new Frankfurt deals|
|Selling Sturridge would be a mistake, says Rush|
|UEFA opens disciplinary proceedings against Besiktas, Dynamo Kiev|
|Filipe Luis suffers thigh tear|
|Kashima Antlers 2 Auckland City 1: Late Kanazaki header the difference|
|Suarez´s Barca renewal already done, says Bartomeu|
|Barcelona invite Chapecoense for Joan Gamper Trophy|
|Arsenal would have a chance against Real Madrid, insists Wenger|
|FIFA chief Infantino calls for zero tolerance on child abuse|
|Sanchez will not leave Arsenal for China - Wenger|
|Dybala delighted with Juventus return|
|Rashford desperate to learn from Ibrahimovic|
|Weigl not ready for Real Madrid - Tuchel|
|Why Zidane must drop Ronaldo at the Club World Cup|
|Barton: They built me up into a Neymar-Messi type|
|Shakhtar aware of Barca interest in Srna - Fonseca|
|Mets hitting coach believes Tebow can make it to MLB|
|Aubameyang reiterates Madrid dream after Bernabeu show|
|Zidane praises Benzema after 50th Champions League goal|
|Aubameyang deserves 99 per cent of credit - Reus|
|Neymar: There´s only one Ballon d´Or winner and it´s Messi, not Ronaldo|
|Magiera hails Legia victory as for ´all of Poland´|
|Tuchel thought Aubameyang had blown chance to equalise|
|Pochettino confident Spurs are back on track|
|Santo hails Porto´s mature performance|
|Lyon proved we can compete with Europe´s best - Genesio|
|Slutsky unsurprised by apparent Premier League interest in Dzagoev|
|Jardim frustrated as Monaco finally lose|