Lewis Hamilton rose from 14th on the grid to win for Mercedes, while his title rival Sebastian Vettel crashed from the lead in the German Grand Prix. Valtteri Bottas finished 2nd, while Kimi Raikkonen 3rd.
Vettel led the early stages of the race from pole, building a three second advantage to Valtteri Bottas as Hamilton charged through the field, making his way through the midfielders to fifth place by lap 14 of 67 at Hockenheim.
Kimi Raikkonen was the first to pit for the soft tyre on lap 14 and resultantly jumped both Bottas and Vettel who stopped on lap 28 and 24 respectively.
Vettel closed in on Raikkonen but could not find a way through, which prompted a team radio debate to get the Finn to allow the pre-race championship leader through, which he eventually did on lap 39 into the Turn 6 hairpin.
Hamilton, who opted for a contrary strategy and started on the soft tyre, did not stop until lap 42 for the ultrasofts, just as rain began to fall at Turn 6.
Chaos ensued as cars struggled for grip and debated between slicks and intermediates. Vettel stayed out but crashed out of the lead of the race. He lost the back end of his car at the Turn 13 Sachskurve on lap 52.
The safety car came out and the new-race leader Bottas pitted for fresh ultrasofts, but was held in the box for some 15 seconds as his tyres were not ready for him. Meanwhile Hamilton behind had taken to the pit entry but quickly bailed out of the decision when he realised his team-mate was coming in.
Raikkonen stopped a lap later, also for fresh ultrasofts and dropped to third, giving Hamilton the lead and Mercedes a 1-2 position.
On the restart five laps later, Bottas challenged Hamilton on the run into Turn 6, forcing Hamilton to defend so he could get the run out of the corner.
They ran side-by-side through Turn 7 but Hamilton fended him off through the following left-hander. After that, the team told Bottas to hold station. Hamilton built up a four second advantage over Bottas. And he took the win and the championship lead by 17 points over Vettel.
Bottas held off a late challenge from Raikkonen to make it a Mercedes 1-2. Max Verstappen finished fourth for Red Bull, despite making what turned out to be an incorrect switch to the intermediate tyre during the rainfall.
Nico Hulkenberg was fifth for Renault ahead of Romain Grosjean. He made late passes on the two Force Indias to come sixth. Sergio Perez was seventh ahead of Esteban Ocon, despite spinning at a slippery Turn 8. Marcus Ericsson was ninth for Sauber.
Brendon Hartley was elevated to tenth after Carlos Sainz Jr. received a 10-second time penalty for overtaking under safety car conditions. Toro Rosso made an call on Gasly to go onto the full wet tyre during the rain. They burnt up in a handful of laps. He finished 14th.
Charles Leclerc lost out on a points position after also making the wrong call on intermediates tyres. Then after switching back to slicks, spun at Turn 1. He finished 15th.
Both Williams retired from the race. Sergey Sirotkin after qualifying strong in 12th dropped down the field after a sticking left-rear wheel nut during his pit stop. He then pulled over at Turn 6 with smoke pouring out of his car.
Lance Stroll was then brought into the pits with a mechanical issue. Daniel Ricciardo retired after reporting a loss in power from his Red Bull.
? RACE CLASSIFICATION (Chequered flag) ?
Hamilton weathers the storm to take win number four of 2018!#GermanGP ?? #F1 pic.twitter.com/48pO4PnPw1
— Formula 1 (@F1) July 22, 2018