Serie A Wrap: Milan stunned by Palermo
The hosts suffered an early setback when Alex was forced to leave the field through injury, with Filippo Inzaghi sending on Cristian Zapata in his place.
However, the Colombian had a match to forget, inadvertently putting Palermo in front when he headed beyond goalkeeper Diego Lopez from a 23rd-minute corner.
Things got even worse for Zapata when he was easily brushed aside by Paula Dybala three minutes later as the Argentine stole in to lift the ball over Lopez and double the visitors' advantage.
Misfiring Fernando Torres failed to enhance his stuttering reputation, lacking conviction when opportunities fell his way, while the introduction of Stephan El Shaarawy for the second half failed to have the desired effect.
The defeat is just Milan's second since Inzaghi took charge, while for Palermo the result represented their first away win since promotion to the Italian top flight.
Sampdoria kept touch with leading duo Juventus and Roma by picking up a 3-1 home victory over Fiorentina - their first win in four.
Angelo Palombo netted the first from the spot in the 27th minute after Roberto Soriano had been felled in the box, before Gonzalo Rodriguez missed the chance to level when Fiorentina were awarded a penalty of their own five minutes later.
Luca Rizzo found the net from a tight angle to put Sampdoria two up in the 43rd minute but Stefan Savic reduced the deficit with a header before the interval.
However, Eder made sure of maximum points for the home side in the 78th minute with a determined solo effort.
Genoa stretched their unbeaten run to five matches after coming from behind to triumph 4-2 at Udinese.
Antonio Di Natale scored the quickest goal of the Serie A season to put the home side in front - breaching the Genoa defence to find the bottom-left corner of the net after 22 seconds.
Giovanni Marchese's sublime 20-yard half-volley in the 21st minute pulled Genoa level, before Iago Falque turned on the spot in the six-yard box to put the visitors in front two minutes later.
Silvan Widmer made sure it was level at the break by sending a side-footed effort beyond goalkeeper Mattia Perin after 41 minutes but Alessandro Matri's low drive nine minutes into the second half restored Genoa's lead.
And the result was put beyond doubt three minutes from time, when substitute Juraj Kucka powered home a fourth.
Elsewhere, Atalanta's trip to Torino and Sassuolo's match at Chievo both ended in goalless draws.