Sweden are now five points clear at the top of Group F, with four wins from four matches.
But Lars Lagerbäck’s side was severely depleted following the victory over Spain on Saturday. Fredrik Ljungberg, Anders Svensson, Tobias Linderoth and Olof Mellberg were all sidelined by injury – and striker Zlatan Ibrahimovic is still out of favour after a bust-up with the boss.
There was a scare for the visitors in the sixth minute when an Arnar Vidarsson half-volley gave keeper Rami Shaaban no chance and put Iceland ahead.
The response was swift. Within two minutes Kim Källström curled a glorious free kick, from all of 30 metres, into Iceland’s net.
The match had started as it didn’t mean to go on. The rest of the first half was uneventful and scrappy with only one other goalscoring opportunity: another free kick from Källström, cleared off the line by Iceland defender Hermann Hreidarsson.
Sweden increased the pressure after the break, with Johan Elmander and Marcus Allbaäck working well.
In the 59th minute the Swedes got their reward. Just outside the penalty area, Elmander set the ball up for Christian Wilhelmsson who controlled it well and lifted over Arni Arason and into the Iceland net.
Iceland could have equalised in the final third of the game. An Eidur Gudjohnsen smashed into the underside of the bar, bouncing away to safety, and Hannes Sigurdsson pulled another chance wide of the Swedish goal.