On a busy night of qualifiers, Belgium extended its lead in Group A to five points with a 2-0 win at Scotland and Bosnia-Herzegovina slipped up 1-0 at home to Slovakia to allow Greece a 1-0 winner at Liechtenstein to draw level on points at the top of Group G. Switzerland conceded three goals in the final 35 minutes to draw 4-4 with Iceland but is still in control of Group E with a four-point cushion.
Ukraine claimed the most stunning win of the night, routing San Marino 9-0 for a record victory to leave the team just a point behind England in Group H. Montenegro lost top spot by drawing 1-1 at Poland and is level on points with England.
Crowd violence marred Romania's 3-0 win over Hungary in the Netherlands' group, with five supporters and two police officers were injured in pre-match skirmishes. Serbia and Croatia drew 1-1 in another heated eastern European derby.
With home matches remaining against the bottom two of Georgia and Belarus, only a major implosion would stop the Spanish advancing in first place to defend its world title in Brazil.
They finally created some breathing space from France as Alba scored in the 19th minute and Negredo sealed the win in the 86th when he lashed home a cross from Manchester City teammate Jesus Navas.
The French couldn't keep pace, with Real Madrid striker Karim Benzema extending his international drought to 15 games in Tbilisi.
"If you want to win, you need to score,'' France coach Didier Deschamps said. ``It's not the result we came for.''
France will almost certainly have to go through the playoffs to reach the World Cup and they could still be joined there by Portugal and England, who are far from guaranteed to remain top of their groups.
Ronaldo came to Portugal's rescue in an ill-tempered match in Belfast that saw three players sent off, including Portugal striker Helder Postiga for headbutting when the score was 1-1. Jamie Ward put Northern Ireland ahead in the 52nd but the hosts were also reduced to 10 men when Chris Brunt was dismissed, giving Ronaldo space to work his magic.
He headed home the equalizer from a corner in the 68th before scoring twice in seven minutes, taking his international tally above Portugal great Eusebio to 43 goals.
Russia beat Luxembourg 4-1 and is a point behind Portugal having played a game less.
England's fate is at least in its own hands after goals by Steven Gerrard, Rickie Lambert and Danny Welbeck (2) secured an easy win over Moldova. The match between Ukraine and England on Tuesday could determine which country goes through automatically, with the English also still having to play Montenegro, too.
Germany should have no such worries about making it to Brazil. Toni Kroos and Thomas Mueller joined Klose on the scoresheet as the Germans stayed five points clear of Sweden, which rallied to beat Ireland 2-1 away and move into second place above Austria.
"The goal means an awful lot to me but I don't want to put myself on a level with Gerd,'' said Klose, who had been stuck on 67 international goals for 11 months,
Italy is seven points ahead of Bulgaria with three games left thanks to Gilardino's 38th-minute winner and a victory for the Azzurri over the Czech Republic in Turin on Tuesday will book their ticket to Brazil.
The Netherlands' lead is now six points after losing their 100 percent qualifying record to Estonia, which looked like claiming a famous win after Konstantin Vassiljev had scored a goal in each half to cancel out Arjen Robben's second-minute opener.
Van Persie earned and scored the penalty four minutes into stoppage time to keep the Dutch undefeated in 29 World Cup qualifiers.