An early penalty earned Croatia a 1-0 win over Austria, but the hosts dominated for long periods and will feel unfortunate to come away empty-handed.
Jurgen Macho was preferred to Siena man Alex Manninger between the posts for Austria and Milan stopper Dario Simic missed out for Croatia.
The Austrians were looking to do better than co-hosts Switzerland who lost their opener against the Czech Republic on Saturday.
But their European Championships started in nightmare fashion when they fell behind within four minutes.
Rene Aufhauser clumsily knocked Ivica Olic off his feet for a clear penalty, even if Emanuel Pogatetz was booked for his protests, and Tottenham new boy Luka Modric calmly stroked the spot-kick home right down the middle.
A Modric free-kick agonisingly whistled across the face of goal and the Croat fans drowned out the worried local supporters.
Samuel pulled back Niko Kovac whose dramatic dive impressed the referee sufficiently to show the yellow card.
Andreas Ivanschitz whipped in a dangerous ball from a free-kick, but Sebastian Prodl headed wide of the target.
Lukas Podolski was the star of the show as a brace against his birth country was enough to guarantee a German victory over Poland in Group B.
There was an air of high tension as the two rivals stepped onto the pitch after some considerable friction in the build-up to the game.
Poland were looking to reverse their hoodoo against Germany and erase memories of their defeat at the 2006 World Cup, while their opponents were seen as many as favourites to lift the trophy.
In the first minute Jens Lehmann was called into action as he came out for a punch but collided with defender Per Mertesacker. Fortunately for the ex-Milan custodian, Jacek Krzynowek blazed the loose ball over.
Just five minutes in, Polish-born hitman Miroslav Klose missed a gilt-edged chance to open the scoring when he went through on goal, but tried to pass to Mario Gomez with only the ‘keeper to beat and the ball narrowly evaded his strike partner.
Ironically it was an all-Polish move that cut open Poland for Germany’s opener as Klose beat the offisde trap to slide across to Podolski to slot into an open net.
It was dismal defending from the Poles, but the German fans went wild as Podolski shed a tear or two.
Poland slowly clawed their way back into the encounter and Wojciech Lobodzinski’s low cross fell to Maciej Zurawski in the box, but he dragged his shot wide.
Gomez should have done so much better when Torsten Frings broke down the wing and pulled the ball back to him in the box.
The Germans led 1-0 at the break after a flowing and entertaining first period, but there were signs that the Poles would make a real fight of it.
Brazilian-born midfielder Roger Guerreiro took the place of Maciej Zurawski and immediately looked lively.
The Eagles were pushing Joachim Low’s side back, but struggled to create anything more promising than a few speculative strikes from outside the box.
Ebi Smolarek was harshly called offside just after the hour mark after netting from a precise through ball.
Substitute Bastian Schweinsteiger’s rolling effort from 25 yards was a routine stop for Artur Boruc.
Boruc made a fantastic fingertip save to deny Michael Ballack whose blasted effort from the edge of the box was bound for the roof of the net. It was the kind of the stop that shows why the Celtic No 1 is a target for Milan.
But he could do nothing about Podolski’s second, which was a rocket of a finish after Klose’s miskick following some more charitable Polish defending.
Lehmann had to make a superb reflex stop to deny Saganowski from a Guerreiro cross with seven minutes left. It was a rare test for the German No 1.
Germany were functional rather than spectacular, but they got the three points they needed and did so with some ease.
Germany (probable): Lehmann; Lahm, Metzelder, Mertesacker, Jansen; Frings, Ballack, Fritz (Schweinsteiger 55), Podolski; Gomez (Hitzlsperger 75), Klose (Kuranyi 91)
Poland (probable): Boruc; Wasilewski, Zewlakow, Bak, Golanski (Saganowski 74); Dudka, Lewandowski, Lobodzinski (Piszczek 64), Zurawski (Guerreiro 46); Krzynowek, Smolarek
Ref From channel4.com