Poland had never won a game before at the European Championship, with three draws and three losses ver two appearances in 2008 and 2012 -- the latter a tournament that they co-hosted with Ukraine.
Now they can look forward to a spicy tie with neighbours Germany in the Stade de France on June 16 with eyes on a spot in the last 16.
The result dents Northern Ireland's pre-tournament hopes of qualifying from a tough group as one of the four best third-placed teams, with a win now essential against Ukraine in Lyon the same day.
Adam Nawalka's side dominated the game but took time to break down a stubborn defence, Milik's strike early in the second half coming after several missed chances in the first.
For Michael O'Neill's side, it was a disappointing end to their first ever European Championship match, and first major tournament appearance since the 1986 World Cup.
They entered the game unbeaten in a record 12 matches, but although they held their more vaunted opponents scoreless until half-time, they ultimately paid for an over-defensive approach in the impressive Stadium Nice.
From the off Poland dominated possession but struggled to penetrate close to goal against a back-four stoutly marshalled by West Brom's Jonny Evans.
With Bayern Munich star Robert Lewandowski bottled up by a dogged Northern Ireland defence and Milik misfiring on several occasions, it was a frustrating opening period for Poland.
Top scorers in qualifying for Euro 2016, they managed just two shots on target in the first period.
The first was on the half-hour when a left-footed drive by Milik from outside the box was easily parried by Michael McGovern.
Milik should also have scored after a cut-back by Piszczek put him in space 10 yards out but he sliced high and wide.
Then as a scrappy half drew to a close, Poland almost broke the deadlock when a left-foot snapshot by the lively Bartosz Kapustka from the edge of the area was superbly tipped over by McGovern.
Northern Ireland, whose striker Kyle Lafferty was their only player in the opposing half for much of the game, soon paid for their defensive approach.
Six minutes into the second period Milik made no mistake when firing through the legs of Craig Cathcart after Jakub Blaszczykowski found him unmarked on the edge of the area.
Blaszczykowski had his own chance to add to Poland's tally on 68 minutes but steered wide after Milik had stroked a ball behind the Northern Ireland defence.
Krzysztof Maczynski, substitute Kamil Grosicki, Milik again, and Grzegorz Krychowiak all had chances to put Poland 2-0 up in the last 15 minutes but all narrowly missed.
Northern Ireland rarely looked like scoring although a speculative off-target scissor kick from Lafferty gave their raucous fans some hope, while captain Steven Davis almost got on the end of a through ball late on.