Iceland were making their first appearance at a major tournament and the situation appeared bleak when Nani scored the 600th goal in European Championship history to put Portugal into a deserved half-time lead.
However, poor marking cost Fernando Santos' men early in the second half when Bjarnason had plenty of time to pick his spot and volley home Johann Gudmundsson's cross.
Nani had already been denied by a fine stop from Hannes Halldorsson, while the usually prolific Cristiano Ronaldo - who tied Luis Figo's record of 127 Portugal appearances - endured a scrappy outing in his attempt to become the first player to score in four separate European Championships.
After Austria - Portugal's expected rivals for top spot in Group F - lost 2-0 to Hungary, Ronaldo cut an increasingly frustrated figure as the final set of opening pool games provided a day of surprises, despite the favourites having 26 shots to Iceland's four.
All the teams at Euro 2016 have now played, and Santos must rally his troops for Saturday's contest against Austria, while Iceland and their raucous support can take confidence into their showdown with Hungary.
Iceland almost made a great start when Portugal were caught out down the left and Gylfi Sigurdsson cut inside before forcing Rui Patricio into action with a shot towards the near post.
Portugal were soon in the ascendancy, though, and Ronaldo showed quick feet on the left to hold up a pin-point cross for Nani, whose point-blank header was brilliantly saved by Halldorsson.
Ronaldo then had a couple of chances of his own, first heading over from Vieirinha's cross before failing to make clean contact in the area from Pepe's excellent ball over the top.
But the pressure told in the 31st minute. Vieirinha's throughball found Andre Gomes in the right channel and he squared for Nani to add the simple side-foot finish from six yards.
Ronaldo dragged a long-distance volley wide of the right-hand post as the second half continued in a similar manner, but Iceland hit back in the 51st minute.
Gudmundsson made progress down the right before checking back and launching a deep cross to the back post where Bjarnason had escaped Vieirinha's attentions to volley in unmarked.
It was a wake-up call for Portugal who upped the tempo and Ronaldo laced one straight at Halldorsson before Nani was desperately unlucky with a flicked header that went wide of the left post from Raphael Guerreiro's delivery.
Ronaldo uncharacteristically headed straight at Halldorsson before the stage was set with a pair of late free-kicks, but the captain's trademark technique let him down as the Icelandic wall stood firm to preserve a precious and poignant point.