It was a day of last-minute goals as Sweden and France came from the brink to salvage a point against powerhouses Germany and Spain respectively.
Italy held on for an impressive 3-1 win against Denmark, despite going down to ten men for much of the second half, while the Netherlands posted a comfortable 4-1 victory. Portugal continued their unimpressive run for the second-straight game, after being held by Northern Ireland to a 1-1 draw.
However, the game of the day came in Berlin, where Germany were coasting to a win after two goals from Miroslav Klose and one from Per Mertesacker gave the home side a 3-0 lead at half-time. The game was then seemingly put to bed when Mesut Ozil scored to make it 4-0 early in the second half.
After that, however, it all went pear-shaped for Germany as Sweden produced an astonishing fight-back. Zlatan Ibrahimovic made it 4-1 in the 62nd minute, before Mikael Lustig (64) and Johan Elmander (76) brought Sweden to within one goal of Germany.
Joachim Low's men, despite, the humongous scare, seemed to be on their way to three points, when Rasmus Elm struck in the third minute of stoppage time to send the away side into delirious celebrations.
In Madrid, there were not as many goals, but the game was as exciting nonetheless. Spain were at their usual best in the first half, controlling possession and taking a stranglehold of the game. Sergio Ramos powered home a header in the 25th minute to give the Spaniards the lead, with Cesc Fabregas missing a penalty to make it 2-0 just before half-time. France, meanwhile, had a goal disallowed for offside, as the game went into the second half.
Didider Deschamps' team were much more impressive in the second period, counterattacking with pace and verve, with Franck Ribery especially impressing. However, the all-important goal seemed to elude them, with Spain on their way to taking complete control of the group. But, in a day of drama, the final script for the match had not yet been written.
Olivier Giroud, who had replaced Karim Benzema late on, popped up with an absolutely vital equalizer in the final kick of the game - heading in a wonderful cross from Ribery, after Juan Fran had given the ball away in a dangerous area.
In other games, Italy held off the challenge of Denmark in Milan. Ricardo Montolivo and Danielle De Rossi had given the home side a 2-0 lead, but were pegged back by the Danish through William Kvist Jorgensen in the stroke of half-time. Matters further worsened for the Italians, when Pablo Osvaldo was given a straight red card for violent conduct, but the nerves and points were settled when Mario Balotelli got a toe to a brilliant pass from Andrea Pirlo to ensure a 3-1 win.
Jermain Lens, Bruno Martins Indi, Rafael Van Der Vaart and Robin Van Persie all scored in a 4-1 victory for the Dutch, with Romania scoring their consolation goal courtesy Ciprian Marica.
Portugal needed a 79th minute equalizer from Helder Postiga to salvage a point against Northern Ireland, after Niall McGinn had given the underdogs a shock early lead.
Meanwhile, the game between Poland and England was postponed due to a waterlogged pitch, and will now be played Wednesday.
Results: Russia 1-0 Azerbaijan; Israel 3-0 Luxembourg; Belarus 2-0 Georgia; Andorra 0-1 Estonia; Latvia 2-0 Liechtenstein; Croatia 2-0 Wales; Czech Republic 0-0 Bulgaria; Bosnia and Herzegovina 3-0 Lithuania; Faroe Islands 1-4 Republic of Ireland; Romania 1-4 Netherlands; Cyprus 1-3 Norway; Ukraine 0-1 Montenegro; Slovakia 0-1 Greece; San Marino 0-2 Moldova; Iceland 0-2 Switzerland; FYROM 1-0 Serbia; Hungary 3-1 Turkey; Austria 4-0 Kazakhstan; Belgium 2-0 Scotland; Italy 3-1 Denmark; Germany 4-4 Sweden; Albania 1-0 Slovenia; Spain 1-1 France; Portugal 1-1 Northern Ireland; Poland vs England postponed.