Ola Toivonen, who is chasing a place in Erik Hamrén's starting eleven for Sweden's Euro 2012 Group D opener against co-hosts Ukraine on 11 June added a second twelve minutes later as Ibrahimovich turned creator with a low cross.
Iceland, managed by former Swedish national coach Lars Lagerbäck, pulled a goal back before the interval through Kolbeinn Sigthórsson. Substitute Christian Wilhelmsson scored a third late on for the home side although there was still time for Hallgrímur Jónasson to score a second for Iceland.
Sweden will face Serbia on 5 June in their final warm-up game before the clash with Ukraine.
Erik Hamrén will be pleased with the form of his forwards and the fact that no-one was injured.