Paris - France were facing World Cup elimination on Friday after slumping to a 2-0 play-off first-leg defeat in Ukraine while Cristiano Ronaldo kept Portugal's hopes alive with the only goal in a 1-0 win over Sweden.
Former European champions Greece were left sleeping comfortably on their hopes of making the finals in Brazil after beating Romania 3-1.
Meanwhile, Iceland's dream of becoming the smallest nation ever to qualify for the World Cup was left on a knife-edge after a 0-0 draw at home with Croatia.
France have it all to do in the second leg in Paris on Tuesday after defeat in Kiev meant they face missing out on the World Cup for the first time in two decades.
Roman Zozulia gave Ukraine a deserved lead in the 61st minute at the 70 000-capacity Olympic Stadium in Kiev and Andriy Yarmolenko made it 2-0 from the penalty spot with eight minutes left after Laurent Koscielny had brought down Zozulia inside the area.
Arsenal defender Koscielny was then sent off following a clash with Oleksandr Kucher, before the Ukrainian defender was also dismissed as tensions between the two teams spilled over.
Ukraine were worthy of their win and, having denied France an away goal, can now consider themselves strong favourites to go through to their second World Cup finals.
"We're not beaten yet, there's always hope," said France goalkeeper and captain Hugo Lloris.
"We know we have enough quality to turn it around."
Ukraine coach Mikhail Fomenko said his only regret was not getting a third goal.
"At half-time, I asked my players to step things up a gear and they responded," he said.
"Our first goal was the crucial moment. It would have been better if we had managed to win 3-0 and we had chances to get a third goal."
At Lisbon's Stadium of Light, Cristiano Ronaldo edged Zlatan Ibrahimovic in the battle of potential World Cup superstars, scoring a late diving header which gave Portugal a 1-0 win over Sweden.
The Real Madrid star headed past Sweden goalkeeper Andreas Isaksson in the 82nd minute from six yards out after a fine left-wing cross from Miguel Veloso.
Ronaldo, who now has 29 goals for club and country this season, almost made it 2-0 moments later when another header thundered back off the crossbar.
But the Portuguese had to settle for a one-goal edge ahead of the second leg in Stockholm, where star striker Ibrahimovic will be key to helping Sweden to the finals in Brazil next year after a low-key performance on Friday.
"It was an important goal and it gave us victory," said Ronaldo.
"We could have scored one or two more goals but this advantage gives us confidence for the second leg.
"Nothing is settled yet. It's 50-50. I cannot promise that we will qualify but I will do all I can to achieve it."
In Piraeus, two goals by Olympiakos striker Kostas Mitroglou lifted Greece to a 3-1 win over Romania.
A packed crowd of 32 000 at the Karaiskakis Stadium saw coach Fernando Santos's team enjoy a convincing victory which provided a comfortable cushion for the return match on Tuesday.
Mitroglou scored one goal in each half and PAOK forward Dimitris Salpingidis added another in the first half.
The lone goal for Romania was scored by Genclerbirligi forward Bogdan Stancu in the first half.
"Nothing has been decided yet. We need to keep a clear mind," said Santos.
"We're halfway there. The players worked a lot and managed to seize the opportunities we had."
In Reykjavik, Iceland were reduced to 10 men for the final 40 minutes but managed to thwart relentless waves of Croatian attacks.
Home defender Olafur Skulason was red-carded in the 51st minute after bringing down Ivan Perisic.
"Croatia were the best of the two teams and created the best chances," said coach Niko Kovac, in charge of the national side for the first time.
Iceland coach Lars Lagerback criticised the officials.
"The players did a good job but the referee did not have a good day," said the Swede.
Collated results of the World Cup play-off, first leg
fixtures on Friday:Iceland 0 Croatia 0
Portugal 1 (Ronaldo 82) Sweden 0
Ukraine 2 (Zozulia 61, Yarmolenko 82-pen) France 0
Greece 3 (Mitroglou 14, 66, Salpingidis 20) Romania 1