Lewis Hamilton's championship lead was slashed as he failed to score points in a dramatic European Grand Prix won by his McLaren team-mate Fernando Alonso.
Alonso is now just two points behind Hamilton in the championship
The Spaniard took the lead from Felipe Massa's Ferrari with five laps left in a race defined by rain showers.
Hamilton finished ninth and is now just two points ahead of the world champion, with Massa a further nine behind.
Mark Webber's Red Bull was third as Ferrari's Kimi Raikkonen retired, dealing his title hopes a heavy blow.
The Finn was in third place at Germany's Nurburgring behind Massa and Alonso when his engine started to cut out shortly after half distance and he was forced to retire.
Raikkonen remains 18 points behind Hamilton with a maximum of only 70 still available in the remaining seven races.
Hamilton's hopes of scoring points were dashed in a torrential early shower of rain.
Always when it rains I am quite happy and I have some fun
After starting 10th following his crash in qualifying, he was up to fourth after the first few corners.
But it was pouring down by the time the cars were halfway around the first lap.
Debutant Markus Winkelhock in the Spyker, who had started from the pit lane on wet-weather tyres, assumed the lead as everyone else pulled into the pits to change tyres.
But the rain was soon so hard that cars were spinning off all over the place and the race was stopped after four laps.
Hamilton was among six drivers - including Honda's Jenson Button - to go off at the first corner, where the track was under water, but he kept his engine running and was able to rejoin the race at the back of the field.
The re-start took place under blue skies on a still-damp track, and Massa and Alonso wasted no time in passing Winkelhock.
Hamilton survived this moment but it was a bad day for him
But Hamilton gambled on using dry-weather tyres at the re-start, and initially it did not pay off - he ran off the track and into the gravel on the first racing lap.
He managed to rejoin, though, and was soon setting fastest laps as he attempted to make up lost ground, prompting the other leading runners to come in to the pits to follow his lead in fitting dry tyres.
Hamilton drove flat out for the rest of the afternoon and had hauled himself up into eighth place when a late shower of rain hit with nine laps to go.
While the other drivers immediately pitted to change tyres, Hamilton stayed out on his dry-weather tyres, hoping to benefit from the others' stops.
But his second gamble of the afternoon also failed to pay off - the rain continued and Hamilton was forced to stop with five laps to go, dropping him to 10th.
He gained one place before the end at the expense of Renault's Giancarlo Fisichella.
Massa held off Alonso for much of the race until a late shower
The battle at the front was equally eventful.
Once the race had settled down after the re-start, Massa led from Alonso and Raikkonen, and the Brazilian slowly began to build an advantage over the McLaren driver.
Massa and Alonso made what they thought would be their final pit stops shortly after Raikkonen's retirement, on laps 37 and 38, and soon the world champion began to make in-roads into the Ferrari's seven-second lead.
Alonso had cut Massa's lead to four seconds when the weather played into his hands.
Much faster than Massa in the slippery conditions, he quickly caught the Ferrari.
The Brazilian earned the world champion's wrath with some robust defensive driving - although Alonso later apologised for saying Massa had driven into him deliberately - but the Spaniard finally took the lead with a brave move around the outside of turn five.
"I enjoy this kind of race, it was incredible," Alonso said.
"In dry conditions the Ferraris were quicker than us. The rain at the end helped, our car seems to be quicker in the wet. Always when it rains I am quite happy and I have some fun."
Webber drove a strong race to reward Red Bull with their first podium finish in a difficult season plagued by poor reliability.
The Australian had to fight off a late challenge from Williams driver Alexander Wurz, who used all his experience and guile to take advantage of the chaotic conditions - just as he did in Canada last month - and finish fourth.
Heikki Kovalainen looked set to finish fifth after the latest in a series of impressive races, but he and Renault gambled on stopping early for wet tyres with 10 laps to go.
That dropped the Renault driver to eighth and promoted Webber's team-mate David Coulthard to fifth.
The BMW Saubers of Nick Heidfeld and Robert Kubica were sixth and seventh.
European Grand Prix result after 60-lap race:
1. Fernando Alonso (Spa) McLaren-Mercedes two hours six minutes 26.358 seconds
2. Felipe Massa (Brz) Ferrari 8.155 seconds behind
3. Mark Webber (Aus) Red Bull-Renault at 1:05.674
4. Alexander Wurz (Aut) Williams-Toyota 1:05.937
5. David Coulthard (GB) Red Bull-Renault 1:13.656
6. Nick Heidfeld (Ger) BMW Sauber 1:20.298
7. Robert Kubica (Pol) BMW Sauber 01:22.415
8. Heikki Kovalainen (Fin) Renault 1 lap behind
9. Lewis Hamilton (GB) McLaren 1 lap
10. Giancarlo Fisichella (Ita) Renault 1 lap
11. Rubens Barrichello (Brz) Honda 1 lap
12. Anthony Davidson (GB) Super Aguri-Honda 1 lap
13. Jarno Trulli (Ita) Toyota 1 lap
R Kimi Raikkonen (Fin) Ferrari 34 laps completed
R Takuma Sato (Jpn) Super Aguri-Honda 19 laps completed
R Ralf Schumacher (Ger) Toyota 18 laps
R Markus Winkelhock (Ger) Spyker-Ferrari 13 laps
R Jenson Button (GB) Honda two laps
R Adrian Sutil (Ger) Spyker-Ferrari two laps
R Nico Rosberg (Ger) Williams-Toyota two laps
R Scott Speed (US) Toro Rosso-Ferrari two laps
R Vitantonio Liuzzi (Ita) Toro Rosso-Ferrari two laps
R = retired
Fastest lap: Massa, 1:32.853, lap 34