The Chelsea midfielder scored after an hour to knock out a Portuguese side featuring Chelsea team-mates Ricardo Carvalho, Jose Boswinga and Paulo Ferreira and Manchester United duo Cristiano Ronaldo and Nani.

Bastian Schweinsteiger nudged the Germans in front on 22 minutes, after some brilliant play from Lukas Podolski, who received the ball from Ballack and charged down the left before passing to Schweinsteiger, who scored easily.

Germany doubled their lead just four minutes later when Miroslav Klose headed home a Schweinsteiger free-kick, following a foul on Christoph Metzelder.

portugal revival

Portugal regrouped and pulled one back four minutes from the interval, with Ronaldo playing a part in the goal. After Simao passed to the United man, his low shot was easily saved by former Arsenal 'keeper Jens Lehmann. Lehmann parried the ball out to Nuno Gomes who shot beyond Metzelder and in to the goal.

Ballack's strike had looked enough to ease Germany to safety when he headed another Schweinsteiger free-kick beyond Ferreira and Ricardo in the Portugal goal. But Helder Postiga scored on 86 minutes to ensure a nervy end to the match.

Germany will face the winners of Friday's match between Croatia and Turkey in the semi-finals.