Match ends, Germany 0, Poland 0.
Germany and Poland played out the first goalless draw of Euro 2016 as both teams took a huge stride towards qualifying from the group stage.
Both now have four points, and will be guaranteed a place in the last 16 if they avoid defeat in their final Group C matches on Tuesday.
Poland striker Arkadiusz Milik wasted by far the best chance of the night seconds after restart, scuffing a header wide from four yards when he seemed certain to score.
It was one of few clear openings from a game that failed to produce a single shot on target in the opening half.
Mario Gotze and Mesut Ozil were both denied by Lukasz Fabianski, in for the injured Wojciech Szczesny, after the restart while Polish forward Milik scuffed another good opening on what was a largely frustrating night at the Stade de France.
One definite consequence of the draw was that pointless Ukraine are eliminated from the tournament.
Struggles without a striker
Mario Gotze scored the winner for Germany in the 2014 World Cup final against Argentina in Brazil but has had a tough time since, often starting from the bench for Bayern Munich and struggling with a series of niggling injuries.
He was disappointing against Ukraine in his country's opening Euro 2016 match, with speculation that he would lose his place to a rejuvenated Mario Gomez against the Poles.
Gotze did start in Paris - the return of defender Mats Hummels was the only change - and he did force one save shortly after the break with a crisp strike from 14 yards but he was a peripheral figure and hauled off after 65 minutes.
Deploying him in the false nine role has not worked, with his side lacking some kind of focal point at the end of their measured approach play.
Gomez came on with 15 minutes left but had little impact, and Low needs to figure out how to sharpen his attack. His Germany side have been indifferent since winning the World Cup, losing seven times.
Former Germany keeper Jens Lehmann was critical of full-back Jonas Hector on BBC Radio 5 live, saying: "We don't have any options on the flanks."
Arsenal's Mesut Ozil forced one good save with an 18-yard effort but drifted in and out of the game, while Thomas Muller's wait to break his duck at the European Championship finals extends to seven games.
Poland - justifiable dark horses?
Poland went into this tournament as one of several teams considered dark horses in a field devoid of any stand-out favourite.
They were good value for their victory over Northern Ireland in their opening fixture on Sunday and the high fives at the final whistle on Thursday suggested they were satisfied with a point against a team they had beaten once in their history.
And whereas Germany clearly have problems in attack, Poland do have two excellent and mobile forwards in Milik and Bayern Munich's Robert Lewandowski, who top scored in Euro 2016 qualifying with 13 goals.
Sadly for Milik - who scored six goals in qualifying - it was a night to forget, particularly with regard to the header he missed.
The low cross from Kamil Grosicki picked out the Ajax striker in space and with just Manuel Neuer to beat.
Alas, he failed to hit the target with a miss so bad that there was a gasp inside the stadium.
However, with his side on four points and facing Ukraine next they are a good bet to reach the last 16 and look an organised side with a threat up front.
Man of the match - Jerome Boateng (Germany)
What they said
Germany coach Joachim Low: "I was quite pleased with our defence but our attack did not really create many chances. But neither did they.
"I did not start Gomez because the Polish central defence is strong in the air, so I wanted low passing with Götze.
"Group stage matches are attrition battles. I expect more openings in the knock-out stages."
Poland coach Adam Nawalka: "We were controlling things well, even at the end. There were times when Germany took the initiative but we gave them that consciously, to allow us space to hit them on the counter attack.
"I'm very happy with the team, in particular their discipline and tactical awareness. It all went exactly to plan.
"The players put a lot of heart into it. The only thing I'm not completely happy about is our failure to score but 0-0 was a fair scoreline."
The stats you need to know
- For the first time at a major finals, Joachim Low changed his starting 11 between the first and second matchdays (bringing in Mats Hummels for Shkodran Mustafi).
- Germany failed to direct a single shot on target in the first-half of a Euro finals game for the first time since 10 June, 1988, when they faced Italy.
- Low's side managed just three shots on target in the game; they last registered fewer shots on target in a Euro finals game in the 2008 final against Spain (1).
- Their last goalless draw also came against Poland, in a friendly on 13 May, 2014.
- Germany failed to score for first time in last 15 games in major finals (since losing 1-0 to Spain in 2010 World Cup).
- Poland failed to register a single shot on target for the first time ever in a major finals game.
The last round of matches in Group C kick off simultaneously on Tuesday at 17:00 BST. Germany take on a Northern Ireland side with qualification aspirations of their own in Paris, while Ukraine play Poland in Marseille.
- 17BoatengBooked at 67mins
- 6KhediraBooked at 3mins
- 8ÖzilBooked at 34mins
- 11DraxlerSubstituted forGomezat 72'minutes
- 19GötzeSubstituted forSchürrleat 66'minutes
- 22ter Stegen
- 16BlaszczykowskiSubstituted forKapustkaat 80'minutes
- 5MaczynskiBooked at 45minsSubstituted forJodlowiecat 76'minutes
- 11GrosickiBooked at 55minsSubstituted forPeszkoat 87'minutesBooked at 90mins
- Björn Kuipers
- Shots on Target
Second Half ends, Germany 0, Poland 0.
Mesut Özil (Germany) wins a free kick on the right wing.
Foul by Slawomir Peszko (Poland).
Offside, Poland. Arkadiusz Milik tries a through ball, but Robert Lewandowski is caught offside.
Foul by Thomas Müller (Germany).
Artur Jedrzejczyk (Poland) wins a free kick on the left wing.
Substitution, Poland. Slawomir Peszko replaces Kamil Grosicki.
Attempt missed. Kamil Grosicki (Poland) right footed shot from a difficult angle and long range on the left is too high from a direct free kick.
Hand ball by Jérôme Boateng (Germany).
Attempt blocked. Mario Gomez (Germany) right footed shot from outside the box is blocked. Assisted by Toni Kroos.
Corner, Germany. Conceded by Lukasz Piszczek.
Thomas Müller (Germany) wins a free kick in the defensive half.
Foul by Robert Lewandowski (Poland).
Substitution, Poland. Bartosz Kapustka replaces Jakub Blaszczykowski.
Attempt missed. Thomas Müller (Germany) right footed shot from the right side of the box is too high.
Attempt missed. Mesut Özil (Germany) right footed shot from outside the box misses to the right.
Substitution, Poland. Tomasz Jodlowiec replaces Krzysztof Maczynski.
Corner, Germany. Conceded by Michal Pazdan.
Attempt blocked. Krzysztof Maczynski (Poland) right footed shot from outside the box is blocked. Assisted by Jakub Blaszczykowski.