Gonzalo Higuain's double gave Napoli a 3-1 victory as Clarence Seedorf suffered his first Serie A defeat since being appointed Milan coach.
A debut goal from on-loan midfielder Adel Taarabt gave Milan the lead against the run of play after only seven minutes at Stadio San Paolo on Saturday.
Rafael Benitez's side had not won in three Serie A games and were also beaten by Roma in the Coppa Italia semi-final first leg in midweek, but there was no sign of their lack of form as they dominated from start to finish.
Gokhan Inler equalised three minutes after Taarabt's measured right-foot finish with a left-footed effort that looped over Milan goalkeeper Christian Abbiati.
Abbiati was lucky to escape with a yellow card when he brought down Dries Mertens, but Higuain struck twice after the break to give the Naples outfit a much-needed win.
First the striker headed home an inviting cross from Inler and he then took his tally for the season to 17 goals in all competitions with his second of the game eight minutes from time after Jose Maria Callejon squared the ball to give him simple finish.
Defeat for Milan was their first in the league since Seedorf was appointed and they were fortunate not to have lost by a more emphatic margin.
Benitez's charges are now three points behind second-placed Roma - who have two games in hand - and three clear of Fiorentina, who beat Atalanta 2-0 earlier in the day.
Rafal Wolski scored his first Serie A goal as the Florence outfit brought the Bergamo club back down to earth following their 3-0 win over Napoli last weekend.
Josip Ilicic put Vincenzo Montella's side in front with a measured free-kick at Stadio Artemio Franchi after 16 minutes and he was also denied by the post before Polish midfielder Wolski's left-foot finish four minutes from time sealed the points.
In the only other game to be played on Saturday, Udinese heaped more misery on struggling Chievo win a 3-0 home victory.
Evergreen striker Antonio Di Natale scored his third goal in as many games in the second half and further goals from Bruno Fernandes and Emmanuel Badu stretched sorry Chievo's winless run to nine games in all competitions and ensured they remain just a point above the relegation zone.
|League Two Preview: Shrewsbury, Wycombe and Burton vie for year-end top spot|
|Mancini not expecting big-money signings at Inter|
|Tottenham v Manchester United: Carrick expects tough return|
|Pearson eager to see Leicester resolve|
|Newcastle United v Everton: Martinez demands clinical touch|
|Liverpool v Swansea City: Rodgers backs returning Mignolet|
|Bayern can still improve - Sammer|
|Warnock sacked by Palace|
|Aston Villa v Sunderland: No club too big to go down, says Lambert|
|Hull City v Leicester City: Pearson vows to keep going|
|Stoke City v West Brom: Hughes targets elusive back-to-back wins|
|Rodgers dismisses Balotelli exit rumours|
|Modric will not rush Madrid return|
|Dyche pleased with Vokes return|
|Southampton v Chelsea: Koeman vows to go on the offensive|
|A-League Review: Six-goal Gosford thriller, Victory leave it late|
|Manchester City v Burnley: Pellegrini warns against complacency|
|Dortmund can fight on two fronts - Watzke|
|Sterling hails improved Liverpool belief|
|Rosicky eager to build on QPR winner|
|Wenger: ´We made it hard for ourselves´|
|Kane: Spurs eye top four|
|Di Maria in doubt for Spurs clash|
|Ba left out of Senegal AFCON squad|
|Redknapp frustrated by penalty call|
|Wenger sees Giroud wrongs|
|Premier League schedule a ´disgrace´, says Poyet|
|Championship Review: Bournemouth stay top, Heskey scores on Bolton debut|
|Hughes lauds Bojan performance|
|Koeman: Saints marching on|
|Pardew rues referee error|
|Arsenal 2 QPR 1: Sublime Alexis secures the spoils|
|Martinez questions Walters decision|
|Poyet laments Sunderland mistakes|
|League One Review: Swindon cruise to win over Walsall|
|Irvine aware of need for improvement|
|United still doing ´very bad things´ - Van Gaal|
|Lambert proud of players despite Swansea defeat|
|Warnock bemoans Palace defence|
|Bruce hails Hull´s spirit|
|Pochettino relieved to come away with victory|
|Dyche: We had our pocket pinched|
|Monk hails Fabianski performance|
|Pearson demands greater concentration from Leicester|
|Kompany set for City return|
|Rodgers hails character after battling win|
|League Two Review: Ainsworth frustrated by Luton, Shrewsbury go top|
|Everton 0 Stoke City 1: Lacklustre Everton slip to defeat|
|Sunderland 1 Hull City 3: Triumphant return for Bruce|
|Burnley 0 Liverpool 1: Sterling wins it at Turf Moor|
|Leicester City 1 Tottenham 2: Eriksen piles misery on Pearson´s men|
|Manchester United 3 Newcastle United 1: Rooney extends hosts´ streak|
|West Brom 1 Manchester City 3: Three and easy for in-form champions|
|Swansea City 1 Aston Villa 0: Hosts break Boxing Day duck|
|Crystal Palace 1 Southampton 3: Mane marks return with star performance|
|Allardyce upbeat despite defeat|
|Van Dijk happy at Celtic - Deila|
|Table-topping Chelsea delight Mourinho|
|Chelsea 2 West Ham 0: Mourinho´s men ease to victory|
|Suarez enjoying Messi, Neymar link-up|
|A-League Review: Garcia rescues point for Perth, Adelaide up to second|
|Poyet calls for mid-season break|
|Van Gaal rules out Januzaj move|
|Rodgers: Balotelli may have to get used to bench|
|Lallana: I was trying too hard|
|Walker juggles music, football careers in Sweden|
|Song to face ´brother from another mother´ Fabregas|
|Adriano announces Le Havre deal|
|Pardew braced for Old Trafford test|
|Lescott unfazed by City reunion|
|Tskhadadze appointed Georgia coach|
|United to finish top three - Ferdinand|
|Allardyce: Stamford Bridge stalemate saved my job|
|Southampton need three January signings, says Watson|
|Liverpool can make Champions League, says fanzine editor|
|Walsh: Hull clash crucial for Leicester|
|Toure, Aubameyang and Enyeama make shortlist for African gong|
|Docherty backs Chelsea to win two-horse race|
|Liverpool could benefit from Hyypia influence - Scales|
|Saudi Arabia name Asian Cup squad|
|Forty-year-old Cahill no problem for Postecoglou|