Palermo advanced to the final of the Italian Cup to end AC Milan's hopes of completing the double after winning 2-1 at home on Tuesday.

The Sicilians went through to its first final since 1979 by winning 4-3 on aggregate after both teams finished with 10 men.

Palermo will face either defending champion Inter Milan or Roma in the final on May 29. Inter leads 1-0 after the first leg.

Giulio Migliaccio opened the scoring for Palermo midway through the second half. Milan midfielder Mark Van Bommel was sent off for fouling striker Josip Ilicic.

Palermo Cesare Bovo doubled the lead with a penalty but he received a red card for hacking down striker Alexandre Pato.

Milan forward Zlatan Ibrahimovic scored in injury time but the newly crowned Serie A champions couldn't find an equalizer.

''This is a great squad with sound values and now it is an historic squad,'' Palermo coach Delio Rossi said. ''Over the 180 minutes we deserved to qualify. If Milan plays Palermo and tries claiming a halfhearted penalty, then it means Palermo has played extremely well.''

With Milan needing to score to progress, Massimo Allegri's side came out in determined mood. Almost immediately, Robinho had raced on to Andrea Pirlo's ball over the defense but shot over the crossbar.

Palermo goalkeeper Salvatore Sirigu then punched Mathieu Flamini's fierce shot clear and Clarence Seedorf fired high when a corner fell to him.

Palermo's best chance fell to Javier Pastore, but he failed to find the target.

Just before halftime, Milan lost fullback Luca Antonini after he collided with teammate Thiago Silva and was stretched off with a knee injury.

Milan maintained the pressure after the break, but it was Palermo which broke the deadlock in the 63rd when Migliaccio got ahead of Alessandro Nesta to head a corner past goalkeeper Christian Abbiati.

The goal gave Palermo confidence, and Abel Hernandez and Migliaccio both went close with chances soon after.

Ibrahimovic came on to try and inspire Milan, but it was Palermo who added to the score moments later.

Pastore set Ilicic free behind Milan's defense with a through ball, Van Bommel pulled him back and was immediately sent off. Bovo made no mistake from the spot as he sent a powerful shot past Abbiati.

However, Bovo quickly became the second player sent off when he hacked down Alexandre Pato less than two minutes after scoring.

Ibrahimovic led Milan's fightback and hit the post from close range before pulling a goal back deep into injury time.

''We had a number of chances. Notably Robinho's in the opening minutes,'' Allegri said. ''Palermo had an excellent game and though we got into good positions, we couldn't take them. That said, I can't complain about how the guys played.''