Argentinabeat Nigeria 2-1 in Tuesday's other Group D fixture thanks to a late Marcos Rojo victor, meaning La Albiceleste march into the round of 16 alongside Croatia and will face France in the next round. Gylfi Sigurdsson levelled with a penalty but Ivan Perisic grabbed a last-gasp victor. They finish three behind Argentina, who can plan for France, and behind group winners Croatia, who take a ideal record to meet Denmark in Nizhny Novgorod on Sunday.
Unlike in their first two matches against Argentina and Nigeria where they were more solid at the back, it was Iceland who were on the front foot and had the best of the chances against the Croats.
Gylfi Sigurdsson finally did score the equaliser with a penalty in the 76th minute after a handball in the area, but Ivan Perisic then sealed victory for Croatia who had already qualified for the knockout stage.More news: India enforce follow-on after Afghanistan collapse for 109
Defender Sverrir Ingason twice threatened for Iceland, hitting the crossbar with a header in the second half.
Iceland pushed forward, and threw men forward in search of a victor which looked increasingly like it would send them through.
Croatia have won three consecutive World Cup matches for the first time.
"We want to beat Iceland to stay top of our group".
But they were left in tears at the final whistle when, in the first minute of added time, Perisic, who had been so wasteful during the game, fired a powerful shot goalwards which Halldorsson could only palm into the top corner.
As a result, the first stanza ended goalless, although Iceland had the slight upper hand.