Germany are through to the semi-finals of Euro 2008 after overcoming Portugal 3-2 in an entertaining encounter in Basle.

Goals from Bastian Schweinsteiger, Miroslav Klose and Michael Ballack were enough to send home Portugal, for whom Nuno Gomes and Helder Postiga replied.

It was a controlled, confident effort by Germany – more reminiscent of the performance they produced against Poland in their opening game, than their limp display against Croatia four days later.

Portugal can have few complaints about the defeat. Their inability to defend simple set-pieces cost them, and although this was a disappointing final game in charge for coach Luiz Felipe Scolari, he would be the first to acknowledge that his team had been outwitted on the night.

For Germany coach, Joachim Low, who was forced to watch the game from the stands as a result of his one-match suspension, this was a tactical triumph. He dropped the misfiring Mario Gomez and flooded the midfield in an attempt to prevent Portugal working their slick passing game.

The early skirmishes gave little indication of the drama to come. Thomas Hitzlsperger was off target with two long ranges, while for Portugal, Moutinho somehow managed to knee the ball over the bar from six yards after good work from Bosingwa on the right.

The opening goal was a wonderfully constructed effort by Germany. Ballack worked a one-two with Lukas Podolski and the forward raced down the right flank before delivering a perfect cross for Schweinsteiger to slide in from close range.

Within five minutes Germany extended their lead through Miroslav Klose. The Bayern Munich striker was left totally unmarked from a Schweinsteiger free-kick and he nodded past Ricardo. It was the striker’s first goal of the tournament, his 40th in total for Germany, and possibly one of the easiest he has ever scored.

Portugal, who had enjoyed the bulk of the possession, now faced a two-goal deficit, but they continued to probe, and five minutes before the interval they managed to reduce the arrears.

Deco, who remained an oasis of calm amid the defensive mayhem around him, collected the ball on the edge of his area before picking out Simao with a delightful pass. The ball was switched quickly to Ronaldo who drew a fine save from Jens Lehmann, only for the ball to fall to Nuno Gomes whose shot crept into the net off the foot of Metzelder.

Just before the interval Ballack went close for Germany, while at the other end Ronaldo, a growing influence as the half progressed, saw his curling right-foot effort drift inches wide of the post.

Portugal came close to equalising shortly after the break when Deco flicked on a corner into the path of Pepe but the central defender headed over from point blank range.

It was to prove a costly miss as Germany restored their two-goal advantage on the hour mark. The goal was almost identical to their second with Ballack rising unchallenged to head home a Schweinsteiger free-kick. The Portuguese defenders looked at each other in disbelief, but if they were looking for a scapegoat, they need look no further than Ricardo, who raced from his line before hesitating when confronted by Ballack.

Trailing 3-1 the expected Portuguese onslaught failed to materialise. Germany were simply too streetwise on the night, and Scolari’s side were resticted to speculative long range efforts.

The introduction of Nani for the last ten minutes introduced some much need energy into the flagging Portuguese ranks and it was he who created Portugal’s second goal with just three minutes of the 90 remaining. The Manchester United winger attracted several defenders before unleashing a wonderful cross which left fellow substitute Helder Postiga with a simple header.

Portugal threw players forward in search of a late equaliser, but Germany defended with resolve and they were able to ride out the late storm with relative ease.

Germany 3-2 Portugal

Scorers:

Portugal: Nuno Gomes 40, Helder Postiga 87

Germany: Bastian Schweinsteiger 22, Miroslav Klose 26, Michael Ballack 61

Half-time: 1-2

Teams:
Portugal: 1-Ricardo; 4-Jose Bosingwa, 15-Pepe, 16-Ricardo Carvalho, 2-Paulo Ferreira; 10-Joao Moutinho (6-Raul Meireles 31), 8-Armando Petit (23-Helder Postiga 73), 20-Deco; 7-Cristiano Ronaldo, 21-Nuno Gomes (19-Nani 67), 11-Simao Sabrosa

Germany: 1-Jens Lehmann; 3-Arne Friedrich, 17-Per Mertesacker, 21-Christoph Metzelder, 16-Philipp Lahm; 7-Bastian Schweinsteiger (4-Clemens Fritz 83), 6-Simon Rolfes, 13-Michael Ballack, 15-Thomas Hitzlsperger (18-Tim Borowski 73); 11-Miroslav Klose (2-Marcell Jansen 89), 20-Lukas Podolski

Referee: Peter Frojdfeldt (Sweden)