Milan Badelj had initially put a workmanlike Croatia ahead, before a Gylfi Sigurdsson penalty in the second half gave Iceland late hope of victory, but the task eventually proved too much as Ivan Perisic scored late to condemn Heimir Hallgrimsson's men to group-stage elimination.
The victory for Zlatko Dalic's Vatreni means that Croatia finish top of the standings and will face Denmark in the last 16. Croatia have now also won three straight group games at a World Cup for the first time in the country's history.
Croatia started with plenty of possession as Iceland sat back in the opening moments and Perisic might have headed home from a corner, only to be stifled by some smart defending from both Sverrir Ingi Ingason and Ragnar Sigurdsson.
For all of Croatia's possessional dominance Dalic's charges offered little going forward in the first half and it was Iceland who grew into the game. Johann Berg Gudmundsson stole possession before trying to set Alfred Finnbogason away, only to be denied by an interception from Dulje Caleta-Car.
Iceland continued to show plenty of endeavour, alongside some compact defending, as the half wore on and they were almost awarded before the interval when Birkir Bjarnason lashed towards goal from a knockdown at a corner, but the winger was thwarted by the legs of Croatia stopper Lovre Kalinic.
Croatia were seemingly caught napping going into the break as Kalinic was called on once more, this time diving high to his right to keep out Aron Gunnarsson's curling effort from the edge of the box.
Regardless of the late drama in the first period, it was Croatia who came out on the front foot in the second period, and Badelj might have opened the scoring when he saw his effort from range deflected onto the crossbar with Hannes Thor Halldorsson beaten.
The chance was to prove a signifier for an improved Croatia, who came back just a few minutes later to finally break the deadlock.
Josip Pivaric moved down the left and his cross into the middle saw Badelj arriving late, leaving the midfielder to volley adroitly into the ground and past Halldorsson.
Iceland almost responded instantly to the setback through centre-back Ingason, whose two quick-fire headers first drew a smart stop from Kalinic, before being denied by the crossbar moments later having met a corner unmarked.
The debutants finally grabbed the goal that their industry perhaps deserved with just under 15 minutes to play, as substitute defender Dejan Lovren was penalised for a handball that blocked Sigurdsson's cross.
The referee pointed straight to the spot with no VAR required, and the Everton midfielder soon stepped up to rifle into the roof of the net and draw Iceland level in the 76th minute.
Ultimately, however, Iceland were unable to produce the required quality in the closing moments to force a fairytale finish, as Croatia caught them on the break through Perisic, who rounded his marker to send an exquisite finish past Halldorsson to confirm top spot in the group.
ICELAND (4-2-3-1): Halldorrson; Saevarsson, Ingason, R. Sigurdsson (B. Sigurdarson 70'), Magnusson; Gunnarsson, Hallfredsson; J. Gudmundsson, Bjarnson (Traustason 90'), G. Sigurdsson; Finnbogason (A. Gudmundsson 85')
CROATIA (4-2-3-1): L. Kalinic; Corluka, Jedvaj, Caleta-Car, Pivaric; Modric (Bradaric 65'), Badelj; Pjaca (Lovren 70'), Perisic, Kovacic (Rakitic 81'); Kramaric