Portugal had 25 attempts on goal compared to Iceland's four but were either wasteful or frustrated by the impressive Hannes Halldorsson.
Nani and Cristiano Ronaldo may particularly rue aiming clear-cut headers straight at the Iceland goalkeeper.
Iceland's attacks were rare but incisive and they almost caught Portugal out inside three minutes. Gylfi Sigurdsson found space down the left and cut inside Danilo Pereira on a charge into the box but Rui Patricio beat away his initial shot and also proved equal to his follow-up effort.
Iceland's fans were energised but that proved as good as it got for some time as Portugal soon began to take control.
Vieirinha tried his luck from distance and Ronaldo headed over. Ronaldo, making a record-equalling 127th Portugal appearance, threatened again after being picked out by a long ball from Pepe but fluffed his shot.
The Real Madrid star then produced some magic on the left to pick out Nani with a superb cross but Halldorsson brilliantly saved a point-blank header with his feet.
It came as no surprise when Portugal took the lead after a slick counter-attack with just over half an hour gone. Andre Gomes was given too much room on the right and his low ball into the box was neatly tucked home by Nani with a first-time shot.
Joao Moutinho had a couple of long-range efforts before the break and Portugal's dominance looked set to continue in the second half as Ronaldo volleyed narrowly wide after the restart.
But Portugal paid for their profligacy as Bjarnason stole in to equalise after 50 minutes. Vieirinha lost the flight of a deep cross from Johann Gudmundsson and Bjarnason ran in behind him to hit a low volley past Patricio.
Portugal went back on the offensive and Gomes forced a save from Halldorsson, who snuffed out another attack by gathering at Nani's feet.
Nani went close again with a header that flew narrowly wide and Ronaldo blazed over before Halldorsson kept out a deflected Ricardo Quaresma attempt. Ronaldo then headed a gilt-edged chance at Halldorsson from a Nani cross.
Iceland substitute Alfred Finnbogason tested Patricio five minutes from time before Ronaldo had two late free-kicks to snatch victory. His first attempt was handled by Alfred Finnbogason in the wall, leading to the second, but it was blocked and the final whistle blew.
COMMENT RULES: Comments that are judged to be defamatory, abusive or in bad taste are not acceptable and contributors who consistently fall below certain criteria will be permanently blacklisted. The moderator will not enter into debate with individual contributors and the moderator’s decision is final. It is Belfast Telegraph policy to close comments on court cases, tribunals and active legal investigations. We may also close comments on articles which are being targeted for abuse. Problems with commenting? email@example.com