Max Verstappen won a thrilling Emilia Romagna Grand Prix after Lewis Hamilton ran off the road and George Russell and Valtteri Bottas were involved in a huge 200mph crash.
Verstappen, who got the jump on pole-sitter Hamilton following a brilliant start in wet conditions in Imola, held his nerve as the chaos unfolded behind him.
Hamilton was in pursuit of Verstappen after switching to dry rubber, but the world champion made an uncharacteristic mistake, sliding into the gravel at the left-handed Tosa corner.
He managed to reverse out of the sand trap before stopping for repairs and fighting back from ninth to finish second. Lando Norris finished third for McLaren following a fine drive by the young Briton.
The race was red-flagged for 30 minutes on lap 34 when British driver Russell and Bottas collided at high speed.
After a foul-mouth blast about Bottas on the radio, Russell marched over to confront the winded Finn, leaning into his Mercedes cockpit and slapping him on the helmet. The flashpoint is being investigated by the stewards.
Verstappen should have won in Bahrain three weeks ago but for an illegal move on Hamilton for the win, while a mistake on his final lap in qualifying cost him pole in Imola.
This time the Dutchman delivered a largely faultless display in the inclement conditions to take his 11th career win in a season which has started with two classic races.
Following a deluge of rain an hour before the race, the drivers started on wet rubber and it was Verstappen, third on the grid, who executed a perfect getaway.
Racing past Red Bull team-mate Sergio Perez, he moved to the inside of Hamilton at the opening corner, with the latter running over the kerbs.
Hamilton claimed Verstappen did not leave him enough room, but the stewards looked at the incident and decided an investigation was not needed.
The safety car was then deployed when Nicholas Latifi lost control of his Williams in the tricky conditions and smashed into the wall. Moments later, Mick Schumacher also crashed, this time on the pit straight.
The racing resumed on lap seven and Verstappen quickly established a five-second lead over Hamilton, but by the time the leading pair changed over to slick tyres on lap 27, with Verstappen the first to pit, Hamilton had reduced the gap to under two seconds.
A slow stop for Hamilton ensured he left the pits five seconds behind his rival.
He then set about chasing Verstappen, but while putting a lap on Russell, he fell off the track. In attempting to rejoin the circuit and damaged his front wing before selecting reverse and finding his way back on to the asphalt.
"So sorry, guys," a deflated Hamilton said over the radio.
As he limped back to the pits, Russell and Bottas collided and the race was stopped to clear the debris.
Russell was attempting to pass Bottas around the outside of the Finn's Mercedes on the 200mph run down to the opening corner in Imola, but the Williams driver dipped his front-right tyre on to the damp grass, causing him to lose control of his Williams and crash into Bottas.
Once the debris was cleared the race started again and as Verstappen cruised off into the distance, Hamilton set about his recovery job.
He passed five drivers in 21 sensational laps, taking Norris around the outside of the first corner with three laps remaining to cross the line in second, 22 seconds behind Verstappen. Charles Leclerc finished fourth for Ferrari ahead of team-mate Carlos Sainz.
Hamilton set the fastest lap to claim a bonus point. He leads Verstappen in the championship by a single point.
HOW THEY FINISHED
Final Times after Race: 1 Max Verstappen (Ned) Red Bull 2hrs 02mins 34.598secs, 2 Lewis Hamilton (Gbr) Mercedes GP +22.000secs, 3 Lando Norris (Gbr) McLaren +23.702, 4 Charles Leclerc (Mon) Ferrari +25.579, 5 Carlos Sainz Jr (Spa) Ferrari +27.036, 6 Daniel Ricciardo (Aus) McLaren +51.220, 7 Lance Stroll (Can) Aston Martin +51.909, 8 Pierre Gasly (Fra) Scuderia AlphaTauri +52.818, 9 Kimi Raikkonen (Fin) Alfa Romeo Racing +1m 04.773s, 10 Esteban Ocon (Fra) Alpine +1:05.704, 11 Fernando Alonso (Spa) Alpine +1:06.561, 12 Sergio Perez (Mex) Red Bull +1:07.151, 13 Yuki Tsunoda (Jpn) Scuderia AlphaTauri +1:13.184, 14 Antonio Giovinazzi (Ita) Alfa Romeo Racing at 1 lap, 15 Sebastian Vettel (Ger) Aston Martin at 1 lap, 16 Mick Schumacher (Ger) Haas F1 at 2 laps, 17 Nikita Mazepin (Raf) Haas F1 at 2 laps
Not Classified: Valtteri Bottas (Fin) Mercedes GP 30 laps completed, George Russell (Gbr) Williams 30 laps completed, Nicholas Latifi (Can) Williams 0 laps completed
World Championship Standings
Drivers: 1 Lewis Hamilton (Gbr) Mercedes GP 44pts, 2 Max Verstappen (Ned) Red Bull 43, 3 Lando Norris (Gbr) McLaren 27, 4 Charles Leclerc (Mon) Ferrari 20, 5 Valtteri Bottas (Fin) Mercedes GP 16, 6 Carlos Sainz Jr (Spa) Ferrari 14, 7 Daniel Ricciardo (Aus) McLaren 14, 8 Sergio Perez (Mex) Red Bull 10, 9 Lance Stroll (Can) Aston Martin 7, 10 Pierre Gasly (Fra) Scuderia AlphaTauri 4, 11 Kimi Raikkonen (Fin) Alfa Romeo Racing 2, 12 uki Tsunoda (Jpn) Scuderia AlphaTauri 2, 13 Esteban Ocon (Fra) Alpine 1, 14 Fernando Alonso (Spa) Alpine 0, 15 Antonio Giovinazzi (Ita) Alfa Romeo Racing 0, 16 George Russell (Gbr) Williams 0, 17 Mick Schumacher (Ger) Haas F1 0, 18 Sebastian Vettel (Ger) Aston Martin 0, 19 Nikita Mazepin (Raf) Haas F1 0, 20 Nicholas Latifi (Can) Williams
Manufacturers' standings : 1 Mercedes-AMG Petronas F1 Team 60pts, 2 Red Bull Racing 53, 3 McLarenF1 Team 41, 4 Scuderia Ferrari Mission Winnow 34, 5 Aston Martin F1 Team 7, 6 Scuderia AlphaTauri Honda 6, 7 Alfa Romeo Racing Orlen 2, 8 Alpine F1 Team 1, 9 Williams Racing 0, 10 Haas F1 F1 Team 0