Lewis Hamilton dominated Formula 1's first French Grand Prix in 10 years and reclaimed the championship lead after title rival Sebastian Vettel clashed with Valtteri Bottas at the first corner.
Hamilton finished comfortably clear of the Red Bull of Max Verstappen to move into a 14-point lead over Vettel, who came home off the podium in fifth.
That was one place ahead of Bottas, who was spun around by Vettel at Turn 1 on a chaotic opening lap.
Vettel got a great start and drew alongside Bottas on the run into the first corner, but backed out on the inside only to lock his front-left and clatter into Bottas.
That broke Vettel's front wing and gave Bottas a left-rear puncture, with both limping back to the pits to change to soft tyres - Vettel tried to carry on racing into Turns 3 and 4 and lightly tagged Romain Grosjean's Haas, although both continued.
At the same corner, Pierre Gasly lost the rear of his Toro Rosso and slid into the back of Esteban Ocon's Force India, putting both drivers out of their home grand prix on lap one.
That prompted a safety car, under which Hamilton led from Verstappen, who had taken to the run-off to avoid the Bottas-Vettel clash, and Renault's Carlos Sainz Jr, who swept around the outside of Daniel Ricciardo at Turn 2 when the Red Bull ran deep into the first corner.
Hamilton started to build an immediate lead when racing resumed on lap five, with Verstappen a comfortable second as Ricciardo had to wait a few laps to reclaim third from Sainz.
The Renault slipped back further as Kimi Raikkonen recovered from a trip to the run-off to the avoid the first-corner mess.
He ran fifth for the next dozen laps or so before Vettel, who had switched to soft tyres and carved his way through the order after rejoining the tail of the field behind the safety car, made it back into the top five.
Vettel's strong pace on fresh tyres briefly put him in a podium position when Ricciardo and Raikkonen stopped around mid-distance, but with his tyres fading - and a five-second time penalty hanging over his head for the Bottas collision - he was a sitting duck.
After half a dozen laps Ricciardo, on softs, took back the podium spot by holding a tighter line through the fast double-right at Turns 10 and 11, and a further six laps later Raikkonen used fresh supersofts to clear his team-mate for fourth.
Raikkonen used his tyre advantage to arrow in on Ricciardo with seven laps remaining, then launched a couple of unsuccessful attacks at the outside of Turns 1 and then Turn 3.
He made the move stick by drafting the Red Bull down the back straight into the Turn 8 chicane to steal the final podium place.
Ricciardo finished half a minute clear of Vettel, who was struggling with tyres but gifted a free pitstop when Mercedes called in Bottas for an unknown reason.
That dropped the Finn down the order but he rose back to seventh on fresh supersofts as Kevin Magnussen resisted late pressure to bag sixth for Haas.
Both drivers passed Sainz in the closing stages as he slowed with a reported loss of power, although he managed to hold onto eighth, one place ahead of team-mate Nico Hulkenberg at Renault's home GP.
Qualifying star Charles Leclerc completed the point scorers for Sauber having run inside the top six after the first lap action.
Lance Stroll was a late non-finisher after his front-left tyre gave up at the high-speed Signes right-hander, having completed 47 laps following an early stop under the safety car.
Sergio Perez was the only other retiree, having challenged for the points before a suspected engine problem, though Fernando Alonso stopped on the final lap reporting a suspension issue while running last. He had earlier spun while being overtaken by Vettel.
|2||Max Verstappen||Red Bull/Renault||53||7.090s|
|4||Daniel Ricciardo||Red Bull/Renault||53||34.736s|
|8||Carlos Sainz Jr.||Renault||53||1m27.184s|
|11||Romain Grosjean||Haas/Ferrari||52||1 Lap|
|12||Stoffel Vandoorne||McLaren/Renault||52||1 Lap|
|13||Marcus Ericsson||Sauber/Ferrari||52||1 Lap|
|14||Brendon Hartley||Toro Rosso/Honda||52||1 Lap|
|15||Sergey Sirotkin||Williams/Mercedes||52||1 Lap|
|-||Sergio Perez||Force India/Mercedes||27||Power Unit|
|-||Pierre Gasly||Toro Rosso/Honda||0||Collision|
|-||Esteban Ocon||Force India/Mercedes||0||Collision|
|9||Carlos Sainz Jr.||28|