Olafur Skulason was issued a red card in the second half but a resilient display from Lars Largerback's side secured a stalemate against the unconvincing visitors.
Olafur Skulason pulled back Ivan Perisic when the winger was clean through on goal and was given his marching orders, but Lars Lagerback's side - roared on by enthusiastic home support - ensured it will remain very much in contention against a Croatia team still low on confidence.
After an even first half, in which chances were at a premium, the game was turned on its head by the dismissal. Croatia, under the guidance of coach Niko Kovac for the first time, began to enjoy the majority of possession but was unable to beat Hannes Halldorsson in the Iceland goal.
The 29-year-old made a string of second-half saves to deny Ivica Olic, Eduardo and Ivan Perisic to keep his side in the series ahead of the second leg in Zagreb on Tuesday.
Iceland coach Lars Lagerback made two changes to the side that drew with Norway last month, while there were six new faces for Croatia as Eduardo partnered with Mario Mandzukic in attack. And the Brazilian-born forward almost broke the deadlock in the second minute.
The 30-year-old worked his way into the penalty area and hit a scuffed shot that beat Halldorsson but was cleared off the line by Ragnar Sigurdsson.
Alfred Finnbogason offered a prompt response from the hosts, controlling a cross from the left on his chest before seeing his shot blocked by Vedran Corluka.
Kovac's side began to dominate possession, with Luka Modric pulling the strings, but clear-cut chances remained few and far between. After wasting an opportunity midway through the half, Perisic brought the first save from Halldorsson shortly before the break, but his long-range effort was straightforward for the goalkeeper.
Iceland's chances were dealt a massive blow five minutes into the second half as Skulason saw red following a tussle with Perisic. The Croatian got in front of his marker to try and get onto Rakitic's through ball but he was pulled down 20 yards from goal, and the defender was shown a straight red card.
Substitute Olic then forced a fine save from Halldorsson in the 55th minute as Croatia began to dominate. The striker slid in to meet an Eduardo cross but was denied by an excellent reflex stop.
Perisic had a final chance to win the game with seven minutes to play, but he wasted the opportunity as he volleyed wide of goal, with Modric's wild late drive from distance the only remaining chance the visitors could muster as both sides prepare for the second leg next week with everything to play for.