Mario Balotelli's devastating performance was enough for Italy to reach the European Championship final against Spain after overcoming Germany in Warsaw.

Balotelli headed in the opener after 20 minutes, following Antonio Cassano's neat movement and cross, before the Manchester City forward thumped in a second in emphatic fashion.

The 2008 runners-up pressed for way back into the semi final, but Gianluigi Buffon tipped Marco Reus' free-kick onto the bar, as the miserly Italian's continued to frustrate.

Mario Balotelli
Balotelli scored twice to book Italy a place in Sunday's final.

Mesut Ozil converted a stoppage time penalty, but Cesare Prandelli's side clung on amid mounting German pressure.

They will meet defending champions Spain in Sunday's final in Kiev, in a repeat of the group C encounter from the opening weekend of the tournament, while Germany will be left to reflect on a fourth successive appearance at a major finals semi final which is yet to produce silverware for the country's golden generation.

Joachim Low had the luxury of recalling Lukas Podolski and Mario Gomez following their omission against Greece, and defender Jerome Boateng after suspension, while Italy could call on the services of defender Giorgio Chiellini after he was absent for the penalty shoot-out win over England.

The two most successful European sides in international football history, with 11 major titles between them, met in Warsaw with the Germans looking to notch their first ever competitive win over Prandelli's side.

Aiming to keep retain their 100% win record in the competition, Germany began the more threatening, and Mats Hummels coming close to opening the scoring early on, but Andrea Pirlo cleared the ball off the line, after Buffon flapped at the initial free kick.

The usually reliable Buffon was again fallible as Boateng crossed in towards Gomez, but the Italy stopper palmed the cross out, against Andrea Barzagli and behind for a corner.

The resulting corner saw Toni Kros unleash a devilish effort, which Buffon again only parried, while opposite number Manuel Neuer had be alert to hold efforts from Riccardo Montolivo and Cassano.

And the Italian's threat didn't stop there as Cassano wriggled away from Sami Khedira, and crossed for Balotelli, who got goal side of Holger Badstuber, to head beyond Neuer from four yards.

Germany responded immediately, Ozil tricking his way through before forcing Buffon into a comfortable save, before Boateng's cross saw Federico Balzaretti clear under pressure from Podolski, while Khedira's long range volley brought the best out of Buffon.

But it was Italy who showed a greater cutting edge with 10 minutes of the first half remaining, as Montolivo's ball over the top found Balotelli, who broke in behind Philipp Lahm before producing a devastating finish past a motionless Neuer.

Half time saw Reus and Miroslav Klose replace Podolski and Gomez, and Klose almost helped Germany half the defect, as he teed up Lahm, who curled over the bar.

Meanwhile, the influence of Ozil was beginning to swell, and his dart in behind Italy almost saw him set up Khedira, who couldn't manufacture an effort on goal as the ball was scrambled away.

The pressure continued to build on the Italian goal, with Reus' free-kick produce a superb save from Buffon, with the Juventus goalkeeper touching the ball onto the crossbar.

Despite Balotelli being replaced by Antonio Di Natale, Italy's threat began to grow and Cluadio Marchisio was guilty of twice missing the chance to seal a place in the final, shooting wide of either post, while substitute Antonio Di Natale found the side netting when put clean through.

Buffon again came to Italy's rescue as Hummels shot straight at the skipper, before Germany were handed a lifeline in stoppage time as Balzaretti handled in the area, allowing Ozil to tuck home the penalty, but Italy hung on to book their place in Sunday's final.