Lewis Hamilton charged from behind to pass shock leader Nelson Piquet and take a remarkable victory at Hockenheim in a race turned inside out by a safety car period.
Felipe Massa had to settle for third, ahead of Nick Heidfeld, Heikki Kovalainen and Kimi Raikkonen.
The first half of the German Grand Prix was uneventful in the extreme, as Hamilton (McLaren) pulled away from Massa's Ferrari and his teammate Kovalainen with ease.
BMW's Robert Kubica benefited from a rapid start then passed Jarno Trulli and Fernando Alonso as they diced with each other on the opening lap to run fourth ahead of the Toyota, with Alonso (Renault) also falling behind Raikkonen's Ferrari at the same point.
The field then stretched out during the first stint, with Massa running two laps further than Hamilton before his first stop but failing to keep the McLaren in sight, allowing Hamilton to lead by up to 12 seconds.
It looked like a straightforward victory for the McLaren driver until Timo Glock - who had run as high as third in his Toyota thanks to a very long first stint and was up to eighth between Sebastian Vettel and Alonso - had a massive accident at the exit of the final corner on lap 35.
The Toyota had suffered a rear suspension failure and slammed heavily into the pit wall, causing a safety car period. Glock was taken to hospital for checks, but appeared to have escaped injury.
The full course yellow was a huge stroke of luck for Renault driver Piquet, who had been running near the tail of the field on a one-stop strategy but pitted just moments before the caution.
The majority of the rest of the field then pitted, allowing Piquet to move up to third behind Hamilton and Heidfeld, who chose to stay out in the belief that they could pull far enough away from the pack before making their last stops.
However the strategy looked destined to fail for Hamilton, as in the nine laps between the green and his stop he could only establish a 13 second advantage over main rivals Piquet and Massa.
He rejoined behind Kovalainen but quickly re-passed his teammate and then started hunting down the Renault and the Ferrari - gaining over one second per lap.
Hamilton caught Massa on lap 56 and wasted no time in surging past the Brazilian into the hairpin. Massa tried to retaliate into the following complex, but was edged out onto the asphalt run-off and had to let the McLaren go.
Piquet's lead lasted only three more laps before he too fell victim to a Hamilton out-braking move into the Spitzkehre, after which the McLaren easily pulled away to score another memorable victory.
With Massa lacking the pace to challenge Piquet, Renault's rookie driver emerged with a surprise second place from 17th on the grid.
Heidfeld also benefited from his strategy gamble to take fourth ahead of Kovalainen, with Raikkonen charging past Rosberg, Alonso, Vettel, Trulli and Kubica in the closing stages to take sixth having lost ground queuing behind Massa in the safety car pitstops.
Kubica held on to seventh, as Vettel secured the final point with a late move on Trulli. Alonso only finished 11th behind Rosberg after a late spin.
Toro Rosso's Sebastien Bourdais took 12th, with David Coulthard finishing 13th after a poor start and a later tangle with Rubens Barrichello that ended the Honda's race.
The only other retirement was Mark Webber, whose Red Bull expired in a cloud of smoke while running behind the safety car.
PROVISIONAL RACE RESULTS The German Grand Prix Hockenheim, Germamy; 67 laps; 306.458km; Weather: Sunny. Classified: Pos Driver Team Time 1. Hamilton McLaren-Mercedes (B) 1h31:20.874 2. Piquet Renault (B) + 5.586 3. Massa Ferrari (B) + 9.339 4. Heidfeld BMW Sauber (B) + 9.825 5. Kovalainen McLaren-Mercedes (B) + 12.411 6. Raikkonen Ferrari (B) + 14.403 7. Kubica BMW Sauber (B) + 22.682 8. Vettel Toro Rosso-Ferrari (B) + 33.299 9. Trulli Toyota (B) + 37.158 10. Rosberg Williams-Toyota (B) + 37.625 11. Alonso Renault (B) + 38.600 12. Bourdais Toro Rosso-Ferrari (B) + 39.111 13. Coulthard Red Bull-Renault (B) + 54.971 14. Fisichella Force India-Ferrari (B) + 59.093 15. Nakajima Williams-Toyota (B) + 1:00.003 16. Sutil Force India-Ferrari (B) + 1:09.488 17. Button Honda (B) + 1 lap Fastest lap: Heidfeld, 1:15.987 Not classified/retirements: Driver Team On lap Barrichello Honda (B) 52 Webber Red Bull-Renault (B) 41 Glock Toyota (B) 37 World Championship standings, round 10: Drivers: Constructors: 1. Hamilton 58 1. Ferrari 105 2. Massa 54 2. BMW Sauber 89 3. Raikkonen 51 3. McLaren-Mercedes 86 4. Kubica 48 4. Toyota 25 5. Heidfeld 41 5. Red Bull-Renault 24 6. Kovalainen 28 6. Renault 23 7. Trulli 20 7. Williams-Toyota 16 8. Webber 18 8. Honda 14 9. Alonso 13 9. Toro Rosso-Ferrari 8 10. Barrichello 11 11. Piquet 10 12. Rosberg 8 13. Nakajima 8 14. Vettel 6 15. Coulthard 6 16. Glock 5 17. Button 3 18. Bourdais 2 All timing unofficial