Ukraine dented Montenegro's hopes of qualifying for the World Cup finals for the first time with a stunning 4-0 win that blasted Group H wide open on Friday when the fancied teams were made to fight hard for their points.

Scotland, who have no chance of reaching next year's finals in Brazil, epitomised the battling spirit shown by some of the underdogs with a shock 1-0 victory in Croatia where a Robert Snodgrass goal hit the hosts' chances of topping Group A.

Section leaders Belgium earned a nervy 2-1 home win over Serbia with headers from Kevin De Bruyne and Marouane Fellaini securing their sixth win in seven to put them three points clear of the Croats. Belgium cannot now finish lower than second.

Russia, who led Group F after four straight wins, suffered their first defeat as an early Helder Postiga goal gave Portugal a 1-0 win over Fabio Capello's side to take top spot with 14 points, two clear of Russia and three above Israel.

Among those trying to upset the odds were Albania and Iceland, neither of whom have ever reached the finals, with both having a chance to top Group E. At one stage, the pair seemed headed for home wins over Norway and Slovenia respectively.

Ultimately, though, they both failed in their quest.

Albania conceded a late goal and were held to a 1-1 draw by Norway in Tirana while Iceland led Slovenia 2-1 in Reykjavik but ended up losing 4-2 leaving Switzerland, who face Cyprus on Saturday, top by a point in Group E above the Albanians.

This video is not available in your region
Group B laggards Malta had a night to remember with their first World Cup qualifying victory for 20 years while perennial whipping boys Liechtenstein and Luxembourg also avoided defeat.

Liechtenstein dented Slovakia's playoff chances with a 1-1 draw in Group G and Luxembourg finished their Group F match with the same scoreline in Azerbaijan.

MORE ROMANCE

Malta went one better to beat Armenia 1-0 in Yerevan with a goal from their record scorer Michael Mifsud and there was more romance in Dublin where Ireland kept their qualifying hopes alive with a 3-0 Group C win over the Faroe Islands.

Irish captain Robbie Keane not only celebrated a record 126th cap for his country, but also scored a hat-trick to extend his all-time scoring record for Ireland to 59 goals.

With Austria beating Sweden 2-1 in the same group, Germany, who did not play, remain top with 16 points from six games, followed by Austria and Ireland on 11 with the Swedes slipping to fourth on eight, albeit with a game in hand.

This video is not available in your region
Keane told ESPN: "There was a lot of talk about getting the record number of caps, but for me that was in the back of my mind. The most important thing was getting the right result."

The results were also as expected for some of the teams closing in on a ticket to Brazil, but not for Montenegro who lost their unbeaten record and two players as they suffered a four-goal thrashing by Ukraine in Podgorica.

ENGLAND FAVOUR

Montenegro had Vladimir Volkov and Savo Pavicevic sent off after Ukraine's Roman Zozulia was red carded at the end of the first half as the visitors climbed to third in the group with a victory which also did England a favour.

Montenegro stay top with 14 points from seven games, having played a match more than second-placed England on 12. Ukraine moved up to 11 points from six matches, ahead of Poland on nine after the Poles could only draw with lowly Moldova.

The biggest winners of the night were Bosnia who triumphed 5-0 in Latvia in Group G to stay three points clear of Greece who won 1-0 in Lithuania thanks to Lazaros Christodoulopoulos who scored midway through the first half.

Italy, who look set to qualify from Group B, were held to a 0-0 draw by an enterprising Czech Republic side in Prague where their controversial striker Mario Balotelli was sent off by Norwegian referee Svein Oddvar Moen 18 minutes from time.

Balotelli picked up his second yellow card for catching defender Theodor Gebre Selassie in the face with his forearm and will now miss Italy's next match against Bulgaria in September.

This season's qualifiers will be wrapped up on Tuesday when Denmark play Armenia in Group B, Sweden meet the Faroes in Group C and Belarus host Finland in Group I after losing 1-0 in the reverse fixture on Friday.