At the third time of asking, Poland have qualified for the knockout stage of the Euros.
It was a hard-earned victory against Ukraine, who dominated possession for much of the contest and created several good chances but were ultimately let down by poor finishing.
The Poles, top scorers in qualifying with 33 goals, again struggled to find their attacking rhythm but were grateful for the intervention of half-time substitute Jakub Blaszczykowski who scored the winning goal in the 54th minute.
Forward Arkadiusz Milik was the architect, his deft pass deceiving the Ukraine defenders and allowing Blaszczykowski space and time to pick his spot with a powerful finish.
Adam Nawalka's outfit has been functional rather than free-flowing but look a very tough side to beat and will head into the last 16, the first time they have progressed beyond the group stage, quietly confident.
Poland finished Group C on seven points, level with world champions Germany, but second on goal difference.
For Ukraine, they exit the tournament with a woeful record of zero points and zero goals.
It has been an equally unproductive campaign for Polish captain Robert Lewandowski, whose wait for a goal at the tournament now stretches past 8 1/2 hours.
- Poland carve out two chances almost immediately. Milik breaks down the left channel in the 3rd min and is through on Andriy Pyatov's goal. But he shoots straight at the Ukrainian goalkeeper. A minute later, Milik whips in a cross from the left to Lewandowski who is six yards out but cannot keep his side-footed effort down and blazes over the bar.
- Ukraine respond with a fine run from Yevhen Konoplyanka who finds Roman Zozulya with a through pass. The latter is clear on goal in the 9th min but his shot is blocked by a last-ditch tackle from Michal Pazdan.
- It's Andriy Yarmolenko's turn to make a mess of his 17th min chance. The winger is set free on the right and has the entire goal to aim at. He opens himself to curl the ball with his left foot but shanks the ball. A terrible miss there.
- Poland's right-back Thiago Cionek finds himself just outside the box and tries his luck from distance. It's a fierce shot but Pyatov smothers it easily. That's the last action of the first half.
- Ukraine create a chance four minutes after the restart. Oleksandr Zinchenko, one of the smallest players on the pitch, gets a free header but cannot direct it on target.
- Second-half substitute Jakub Blaszczykowski, who has only been on the field for nine minutes, rifles in a left-footed shot past Pyatov. A well-worked short corner is played to Milik whose deliciously disguised pass creates the chance for Poland.
- Nice interplay up front by the Ukrainians in the 62nd min sees the ball worked to Konoplyanka but he blazes over from 25 yards.
- Roman Zozulya's 81st-min header just misses the far post as Ukraine let slip another chance to equalise and end their goal drought at the Euros.
The talking point
They arrived in France as top scorers in qualifying with 33 goals, even beating Germany as well. But Poland have been toothless in attack and Lewandowski, in particular, looks a shadow of the man who terrorised defenders for Bayern Munich last season. The confidence seems to have disappeared and continues the trend seen in this tournament where big name strikers - Lewandowski, Zlatan Ibrahimovic, Cristiano Ronaldo, Harry Kane - have all struggled to make their mark.
Man of the Match
Milik's stock continues to rise after this performance. The 22-year-old lanky forward was Poland's main creative outlet, showing excellent close control and an eye for a pass. His pass that led to the game's only goal was simple in its execution but contained such guile and vision. He was substituted in added time to a standing ovation from the Polish fans, an apt reception to his contribution.
What the result means
Despite stuttering at times, Poland have comfortably eased into the next round and will face Switzerland on Saturday in the last 16. They are well-drilled and tough to beat and if their skipper Lewandowski can find his shooting boots in the knockout stages, they could be a dark horse.
Lewandowski scored 13 goals in qualifying and struck 44 times for Bayern last season. Yet his goal drought at the Euros has now stretched to 523 minutes. He last scored in his first game at the 2012 Euros against Greece.
What they said
Poland coach Adam Nawalka: "It was fairly impressive that we got seven points from three matches in a difficult group, we didn’t concede a goal, maybe we could have scored more”.
“But as the table shows only the goal difference is against our favour it was a difficult match today it was maybe even more difficult than against Germany.
"You should never disrespect Ukraine, they have some very good players in their team, we had to defend well we didn’t have as much possession as we wished.”