Fernando Santos' side ground it out against the Vatreni, and will take on Poland in the quarter-finals at the Stade Velodrome.
Croatia sealed top spot in Group D and a favourable knockout draw with an astonishing comeback win over Spain in Bordeaux. Alvaro Morata's early goal had appeared to set a full-strength La Roja side on their way to a comfortable victory, only for Nikola Kalinic's brilliant equaliser to steal a point for the rotated Croatians.
In the end, after the enforced drama of their opening two Group A matches, France were probably pleased for a quiet night. After victories against Romania and Albania – both snatched from the jaws of disappointment at the last – the Euro 2016 hosts prepared for the last 16 with a low-wattage draw against Switzerland that will not feature on many tournament highlight reels.
The Everton forward scored a second-half brace as Marc Wilmot's men cruised to victory to boost their chances of reaching the last 16. Romelu Lukaku scored twice as Belgium cruised to victory to deal a big blow to Ireland's qualification hopes.
Spain smashed a dreadful Turkey side to take full control of Group D and secure passage to the knockout phase. Vicente del Bosque's men were once again dominanted but provided the finishing that they had lacked against the Czech Republic in Monday's narrow win.
Group C remains in the balance after Germany and Poland played out a goalless draw in Paris. Arkadiusz Milik missed two good chances for the Poles, who are locked with the Germans on four points heading into the final game.
The West Brom defender opened the scoring four minutes after the break before McGinn climbed off the bench to seal the points late on.
Nani gave Portugal the lead but Birkir Bjarnason scored Iceland's first ever European Championship goal to earn their first Euro point. Iceland’s remarkable story continued as they held Cristiano Ronaldo’s Portugal to a 1-1 draw in St Etienne.