Cristiano Ronaldo won his battle with Zlatan Ibrahimovic and ensured Portugal were headed for Brazil as he scored a hat-trick in a 3-2 win in Sweden.
The Real Madrid forward fired Portugal ahead on 50 minutes to give them a 2-0 lead in the tie.
But Ibrahimovic then threatened to take over as he headed Sweden level on the night before thumping them ahead with a free-kick that was too hot for Rui Patricio to handle.
Sweden suddenly needed just one more goal in the final 15 minutes to progress, but Ronaldo ended their hopes almost as quickly as Ibrahimovic revived them.
With 77 minutes gone he was left in too much space and crashed his shot passed Andreas Isaksson. Two minutes later the tie was over as he rounded the goalkeeper before shooting high into the net.
Iceland’s dream to become the smallest nation to qualify for a World Cup finals came to an end in Zagreb as they were beaten 2-0 despite Croatia playing for almost an hour with 10 men.
Mario Mandzukic sent Croatia ahead on 27 minutes, ghosting in at the back post after Ivan Persic mis-hit an Ivan Rakitic cross, only to then get sent off just before the break.
The Bayern Munich striker left his leg in a dangerous position as he battled for the ball and when contact was made with Johann Gudmundsson he saw red.
It mattered not as skipper Darijo Srna’s shot on the angle two minutes after the break caught out Hannes Halldorsson and from there Iceland had no answer.
Greece finished off the job they started in Athens last week as a 1-1 draw with Romania sent them safely through.
Holding a 3-1 advantage from the opening leg, Fernando Santos’ men arrived in Bucharest looking to wrap up the tie and they all but achieved that with a first-half strike from Konstantinos Mitroglou.
A bizarre own goal from Vasileios Torosidis early in the second half pulled Romania level on the night, but there was to be no dramatic comeback.