(CNN) -- Captain Cristiano Ronaldo scored a 16-minute hat-trick as Portugal came from behind to beat Northern Ireland 4-2 in a stormy match to stay on track for automatic qualification for the 2014 World Cup.
After Russia beat Luxembourg 4-1 earlier Friday to claim a one-point lead in Group F, Ronaldo's team went 2-1 down in pouring rain in Belfast against a team ranked 109th in world football.
Bruno Alves put the seventh-ranked visitors ahead in the 21st minute, but Gareth McAuley equalized and Portugal striker Heldar Postiga was sent off before the break.
The Irish took the lead through Jamie Ward soon after halftime, but lost the initiative when Chris Brunt was sent off for a second yellow card, recklessly sliding into a tackle.
Ronaldo took advantage of the extra space, heading home from a corner in the 68th minute and then nodding in Fabio Coentrao's lofted forward pass on 77.
Northern Ireland striker Kyle Lafferty received a straight red three minutes later for a late sliding challenge, and Real Madrid star Ronaldo wrapped up the scoring with a deflected low free-kick.
It left Portugal two points clear of Russia, having played one more match, as the road to Rio heads into its final rounds of matches.
The Irish had held Portugal 1-1 last October on Ronaldo's 100th appearance for his country, but this time the 28-year-old netted his first international treble to overtake Eusebio as Portugal's second-highest scorer on 43 goals.
The Russians can reclaim top spot by winning their game in hand at home to Israel on Tuesday, after which all the teams will have two matches remaining.
World and European champion Spain took control of Group I, beating Finland 2-0 while second-placed France dropped points in a 0-0 draw away to Georgia.
A goal in either half from defender Jordi Alba and striker Alvaro Negredo was enough to put Vicente del Bosque's team three points clear -- though France can close the gap again by winning in Belarus on Tuesday, ahead of Spain's next match in October.
Germany stayed five points clear in Group C as veteran striker Miroslav Klose equaled his country's scoring record in a 3-0 win over neighbor Austria.
The 35-year-old matched Gerd Muller's leading tally of 68 when he put the home side ahead in Munich, while Toni Kroos and Thomas Muller netted in the second half at the stadium of their club Bayern.
Muller's goals came from just 62 games, while former Bayern star Klose -- now playing in Italy with Lazio -- has needed 129 matches.
Austria had been second on goal difference, but lost that position to Sweden -- which beat the Republic of Ireland 2-1 in Dublin.
The Irish led through Robbie Keane's national-record 60th goal but striker Johan Elmander leveled and 37-year-old Anders Svensson grabbed a second-half winner on his 143rd international appearance -- matching the most by a Swedish player.
England's hopes of automatic qualification were boosted by a 4-0 win over Moldova which put Roy Hodgson's side top of Group H on goal difference.
Forward Rickie Lambert scored his second goal in successive matches after Steven Gerrard's opener, while striker Danny Welbeck scored two more -- but picked up a suspension after being booked.
It gave England the edge over Montenegro, which dropped points in a 1-1 draw away to Poland as Robert Lewandowski canceled out Dejan Damjanovic's opener for the visiting team.
Third-placed Ukraine warmed up for Tuesday's home clash with England by thrashing San Marino 9-0, as eight players found the net and Yevhen Khacheridi scored twice.
Belgium went five points clear at the top of Group A after a 2-0 win in Scotland, while second-placed Croatia dropped points in a 1-1 draw in Serbia which ended its neighbor's slim hopes of a playoff place.
Italy marched seven points clear in Group B with a 1-0 win over second-placed Bulgaria, as veteran striker Alberto Gilardino netted the only goal seven minutes before halftime.
Three teams were left a point behind Bulgaria as Armenia shocked the Czech Republic 2-1 in Prague while Denmark's hopes were boosted with a 2-1 win at bottom side Malta.
The Netherlands stayed top in Group D despite being held 2-2 in Estonia, with Robin van Persie's 90th-minute penalty leaving the Dutch six points clear -- though it ended the only 100% record in European qualifying.
Arjen Robben scored the opener before Konstantin Vassiljev netted twice for the home side, which had defender Raio Piiroja sent off for bringing down Van Persie at the end.
Romania moved up to second place with a 3-0 win at home to Hungary, which dropped its neighbor to third.
Turkey thrashed Andorra 5-0 to stay in the hunt for a playoff place, as Umut Bulut scored a hat-trick.
Switzerland's Group E lead was trimmed to four points following a 4-4 draw with Iceland.
Stephan Lichtsteiner scored twice for the home side but Johann Berg Gudmundsson completed a hat-trick in the 90th minute to keep fourth-placed Iceland in the playoff race.
Norway moved up to second with a 2-0 win over bottom team Cyprus, while Slovenia beat third-placed Albania 1-0 to also remain in contention.
In Group G, Greece joined Bosnia and Herzegovina on 16 points at the top after a 1-0 win away to Liechtenstein, with both teams having a player sent off.
Bosnia lost 1-0 at home to third-placed Slovakia, which is a further four points adrift.
Meanwhile, Ghana became the fourth nation to qualify for the final round of African qualifying after beating Zambia 2-1 in Kumasi, ending the visiting side's hopes of going through.
Six other places will be settled in this weekend's last round of group matches, while Algeria, Ivory Coast and Egypt have already won spots.