This was the best we have ever seen of Balotelli — and the Germans could not handle him.
Yet it was Italy who looked the stronger strong and the 2-1 final score actually flatters the Germans. Italy should have scored four or five goals.
Where Italy had failed to take their chances in the quarter-final win against England they were on target this time.
It took until the 20th minute before Italy broke through when Pirlo turned creator to set up the opener for Balotelli.
Pirlo started the move with a pass out wide to Giorgio Chiellini and the defender played in Cassano who turned Hummels inside out. The cross was a beauty and Balotelli rose above his marker to head home.
Sixteen minutes it was 2-0 when before Balotelli grabbed a stunning second when he collected a long pass through the middle from Riccardo Montolivo, raced away from Germany skipper Philipp Lahm, and thundered a shot into the roof of the net.
German boss Joachim Low made changes at half-time, bringing on Marco Reus for Lukas Podolski, while Miroslav Klose replaced Mario Gomez.
For the first 15 minutes after the break, the Germans looked better and Lahm should have scored after a one-two with Kroos but shot over.
But as German pushed forward in search of a goal, they left themselves open to the counter-attack and Antonio Di Natale could have easily had a hat-trick with the chances he missed.
So Italy’s streak against German continues. They have never lost a competitive game against Germany in eight matches now, including the World Cup final of 1982 and the semi-final in 2006.
Heading into the Euros, there was a huge black cloud over the Italian side due to the match fixing scandal that is engulfing Italian football ago. But someone Cesare Prandelli has kept his side focused on the tournament and he has a chance on Sunday to extend his unbeaten streak as Italy manager in competitive matches to 16 on Sunday.