Arkadiusz Milik got the only goal, but Poland absolutely dominated their match with an overly-defensive Northern Ireland.
There were several Serie A names in the Polish squad, including Roma goalkeeper Wojciech Szczesny and Torino defender Kamil Glik, but Piotr Zielinski was benched. Northern Ireland went into their first major tournament for 30 years and were unbeaten in their last 12 games, the longest streak of any side going into Euro 2016.
As expected, it was a Polish siege from the very start with Ireland pegged back in defence. Milik hit a fresh-air shot from a promising position, then fired another great opportunity over the bar from seven yards.
Poland were looking for their debut victory in a European Championship finals, managing just three draws in six previous attempts.
After a terrible clearance, Bartosz Kaputska’s strike was palmed out of the near top corner, then chaotic scenes eventually saw Glik hit the side-netting. Teenager Kaputska was only playing because Kamil Grosicki failed a fitness test.
Milik made up for that awful early miss by scoring the opener, drilling low through a defender’s legs to surprise the goalkeeper from 12 yards on a Jakub Blaszczykowski assist.
Fiorentina winger Blaszczykowski flashed a ball across the face of goal, but Szczesny finally had something to do when rushing off his line to smother at the feet of Conor Washington.
Milik almost bagged a brace, his volley steered just wide, as Northern Ireland were still in it and Steven Davis was left totally unmarked on a free kick, but stumbled and failed to get decent contact.
Grzegorz Krychowiak unleashed a missile from distance that skimmed the near post and in stoppages Szczesny clattered full force into teammate Piszczek while trying to clear a cross.
Poland 1-0 N Ireland
Milik 51 (P)
Poland: Szczesny; Piszczek, Glik, Pazdan, Jedrzejczyk; Blaszczykowski (Grosicki 80), Krychowiak, Maczynski (Jodlowiec 78), Kapustka (Peszko 88); Milik; Lewandowski
N Ireland: McGovern; McLaughlin, Cathcart, J Evans, McAuley; McNair (Dallas 46), Norwood, S Davis, Baird (Ward 76), Ferguson (Washington 66); K Lafferty
Ref: Hategan (ROU)