Sebastian Vettel was third for Ferrari ahead of team-mate Charles Leclerc, Carlos Sainz of McLaren and Pierre Gasly in the second Red Bull.
Max Verstappen out-paced the two Mercedes drivers Valtteri Bottas and Lewis Hamilton in a breathless finish.
Max Verstappen's powerful performance in rain-hit German Grand Prix lifted him within 63 points of Lewis Hamilton with 10 of this year's 21 races to go.
The race was a disaster for champions Mercedes who were celebrating their 200th Formula One start of the modern era and 125 years of motorsport.
Lewis Hamilton, who had struggled for pace and consistency in his Mercedes in practice, improved to clock a best lap in one minute and 11.767 and outpace Max Verstappen of Red Bull by 0.346 seconds.
Mercedes are celebrating 125 years of motorsport and their 200th race start at their home German Grand Prix.
Lewis Hamilton blamed the record-breaking European heat wave as Mercedes finished behind Ferrari ahead of this weekend's German Grand Prix.
Sebastian Vettel has endured a run of mistakes and disappointments that have thrown his future into doubt and left him languishing in pursuit.
Lewis Hamilton made the most of a favourable safety car intervention on Sunday to claim a record sixth British Grand Prix victory.
Lewis Hamilton was told by a reporter that, because he lived in Monaco and did not have an English accent, people questioned his 'Britishness'.
Valtteri Bottas clocked a track record fastest lap of one minute and 25.093 seconds to outpace Lewis Hamilton by just 0.006 seconds.
A sixth victory overall and fifth in six years at a track Lewis Hamilton loves would also be his seventh in 10 races this year.
Max Verstappen's dramatic overtaking move was immediately announced as under investigation by the stewards.
Ferrari's Charles Leclerc outpaced Lewis Hamilton of Mercedes by two-tenths of a second.
Lewis Hamilton repeated his pole-to-flag triumph of 2018 with a flawless drive to his fourth win in succession.
It was the 86th pole of his career for Lewis Hamilton, who won last year's race from pole.
Lewis Hamilton clocked a best lap in one minute and 32.738 seconds to outpace the Finn by just 0.069 seconds on a hot day at the Le Castellet circuit.
Sebastian Vettel won the Canadian race 'on the road' but was relegated to second place behind Lewis Hamilton of Mercedes by a five seconds time penalty.