Alexandre Pato got his fifth goal in seven games as AC Milan went top of the Serie A table as previous leaders Lazio suffered a shock 1-0 defeat at Cesena.
Pato opened the scoring but Armin Bacinovic equalised for Palermo with just under half an hour left.
A Zlatan Ibrahimovic penalty and a late goal by Robinho ensured Milan claimed all three points.
Armin Bacinovic (63)
Zlatan Ibrahimovic (pen 77)