Republic of Ireland stunned Austria 1-0 in Vienna to climb top of their World Cup qualifying group but Iceland failed to replicate their Euro 2016 heroics in a 2-0 defeat in Croatia on Saturday.
The Irish provisionally leapfrogged Serbia in Group D thanks to a James McClean strike three minutes after half-time, leaving Austria facing World Cup heartache.
Wales host Serbia later Saturday in Cardiff in a game the home side -- who like Iceland were giantkillers at Euro 2016 this summer -- dare not lose.
Croatia, first in Group I, took on Iceland with group supremacy at stake.
Croatia grabbed the lead after 15 minutes through Inter Milan midfielder Marcelo Brozovic, but it was Iceland who took control after that in Zagreb, where the game was played out in front of empty stands after a FIFA stadium ban.
The clash was closed to the public as punishment for the "inappropriate behaviour" of the Croatia fans during the World Cup qualifier against Kosovo on October 6.
Iceland, who shocked the football world by beating England 2-1 to reach the quarter-finals of Euro 2016, had revenge on their minds because Croatia deprived them of a first World Cup appearance, narrowly missing out on Brazil 2014.
But despite having plenty of the ball in both halves, Iceland failed to make the crucial breakthrough.
And the home side punished them in injury time, Brozovic again doing the damage against the run of play.
Croatia, now top of the group with 10 points from four games, finished the match with 10 men after Ivan Perisic was sent off at the death.
Also in Group I, Turkey revived their slim hopes of making it to Russia in 2018 with a 2-0 home victory over Kosovo in Antalya.
Burak Yilmaz and Volkan Sen scored within four minutes of one another in the second half to leave Kosovo bottom on just a solitary point.
Georgia and Moldova played out a 1-1 draw in Tbilisi to remain rooted in the bottom two spots in Group D.