Nico Rosberg extended his lead in the Formula 1 world championship with a comfortable victory in the German Grand Prix at Hockenheim.
The Mercedes driver converted pole position into his fourth win of the season, while the Williams of Valtteri Bottas fended off the second Mercedes of Rosberg's title rival Lewis Hamilton to finish second.
Hamilton fought his way through the field to finish third from 20th on the grid, following his brake-failure-induced crash in qualifying.
Hamilton's journey to the podium was fraught with peril, as the 2008 world champion survived repeated contact at the Turn 4 hairpin as he raced his way through the pack.
Hamilton got away with hitting Adrian Sutil's Sauber and Kimi Raikkonen's Ferrari, but slightly damaged his front wing after a late dive up the inside of Jenson Button's McLaren.
This compromised his second stint on Pirelli's soft tyre and meant Mercedes had to switch its charger onto a three-stop strategy.
Hamilton made up the time lost in the pits but took too much out of his final set of tyres and fell short of claiming second spot from Bottas by just 1.7 seconds.
Bottas executed a two-stop strategy to claim his third consecutive podium finish for Williams after starting second, but team-mate Felipe Massa only made it to the first corner before contact with Kevin Magnussen's fast-starting McLaren tipped the Williams into a race-ending roll, and meant the first lap finished behind the safety car.
Magnussen, who started fourth and was trying to pass Massa for third when they came together, fell to the back of the field, while the incident also delayed Daniel Ricciardo's Red Bull, which had to take avoiding action across the Turn 1 run-off.
This incident promoted world champion Sebastian Vettel to third on the road, and the Red Bull racer converted that into a fourth placed finish after another battle with Fernando Alonso's Ferrari.
Alonso was another driver who tried to make a two-stop strategy work, but the Spaniard could not manage it and a late third stop dropped him out of the top six.
He passed Jenson Button's McLaren for sixth with relative ease, but found the recovering Red Bull of Ricciardo a more obstinate obstacle.
The Australian defended hard, but Alonso - running on the faster super-soft tyre - eventually fought his way past four laps from the finish.
Ricciardo came back at the Ferrari on the final lap, though, and fell just eight hundredths of a second shy of stealing fifth back on the run to the finish line.
Button lost seventh to Nico Hulkenberg's Force India after being forced to make a very late third tyre stop, while McLaren team-mate Magnussen salvaged ninth after his first-lap incident.
Sergio Perez claimed the final point for 10th place in the second Force India, ahead of the second Ferrari of Kimi Raikkonen, who twice survived contact while being passed into the Turn 4 hairpin - once with Hamilton and also with Vettel.
Results - 67 laps (full results to follow)
Pos Driver Team Time/Gap
1. Nico Rosberg Mercedes 1h33m42.914s
2. Valtteri Bottas Williams-Mercedes
3. Lewis Hamilton Mercedes
4. Sebastian Vettel Red Bull-Renault
5. Fernando Alonso Ferrari
6. Daniel Ricciardo Red Bull-Renault
7. Nico Hulkenberg Force India-Mercedes
8. Jenson Button McLaren-Mercedes
9. Kevin Magnussen McLaren-Mercedes
10. Sergio Perez Force India-Mercedes -1 lap
11. Kimi Raikkonen Ferrari -1 lap
12. Pastor Maldonado Lotus-Renault -1 lap
13. Jean-Eric Vergne Toro Rosso-Renault -1 lap
14. Esteban Gutierrez Sauber-Ferrari -1 lap
15. Jules Bianchi Marussia-Ferrari -1 lap
16. Kamui Kobayashi Caterham-Renault -2 laps
17. Max Chilton Marussia-Ferrari -2 laps
18. Marcus Ericsson Caterham-Renault -2 laps
Felipe Massa Williams-Mercedes
Daniil Kvyat Toro Rosso-Renault
Romain Grosjean Lotus-Renault
Adrian Sutil Sauber-Ferrari