The home side failed to threaten much, slumping to a defeat against the newly-promoted visiting side.
Cristian Zapata had a match to forget as Milan suffered a 2-0 home defeat to Palermo in Serie A on Sunday.
The Colombian came off the bench in the third minute for the injured Alex, but soon found himself in the spotlight for the wrong reasons.
After heading into his own net from a corner, the defender was easily brushed aside by Paulo Dybala as the Palermo striker doubled his side's lead after just 26 minutes.
Milan pushed desperately to reduce the deficit at a sparsely populated San Siro, but found opportunities limited and quality in the final third lacking.
The defeat is just Milan's second under coach Filippo Inzaghi, but sees its winless run stretch to three matches following draws against Fiorentina and Cagliari.
Milan kept faith with Fernando Torres despite the Spaniard's disappointing goal-scoring record since arriving in Serie A, while Jeremy Menez was added to an attacking line that also featured Keisuke Honda, but it was the visitors who made the early running.
Franco Vazquez punished a defensive lapse to break clear and draw a one-handed save from Diego Lopez inside the opening two minutes, and Milan was dealt a blow when defender Alex had to leave the field through injury soon after.
Torres glanced a header across the face of goal from a free kick after 16 minutes as Milan threatened to take control of the match, but Achraf Lazaar had Lopez sprawling with a low drive from distance seven minutes later.
From the resulting corner, Zapata inadvertently headed into his own net.
Palermo should have extended the lead when Dybala went clean through on goal moments later, only for Lopez to make the block, but the forward made no mistake with his next opportunity in the 26th minute.
The 20-year-old Argentinian out-muscled Zapata and left the defender for dead before lifting the ball over Lopez and into the back of the net.
Palermo offered no let-up - Edgar Barreto testing Lopez with a curling effort from 20 yards before Ezequiel Munoz headed narrowly wide from a corner.
Inzaghi introduced Stephan El Shaarawy in place of Poli for the second half and the 22-year-old was straight into the thick of the action as he picked up a booking for a blatant dive in the Palermo penalty area.
The Italy international then curled wide from 20 yards as Milan desperately chased a goal, and Torres did little to enhance his own stuttering reputation by heading another effort wide of the target.
Nigel de Jong's 25-yard free kick 10 minutes from time was comfortably collected by Sorrentino as Palermo eased to a first away victory since gaining promotion last term.