Lewis Hamilton moved into the Formula 1 points lead after beating team-mate Valtteri Bottas to win the Spanish Grand Prix, as Mercedes continued its perfect start to the season.
Hamilton's victory ahead of Bottas clinched Mercedes' fifth one-two in a row and put Hamilton seven points clear of Bottas in the world championship.
Max Verstappen earned a second podium of the season for Red Bull and Honda in third place, after Ferrari's challenge faded early and never recovered.
Hamilton started second but crucially got ahead of poleman Bottas by winning a three-way duel into the first corner that also featured Sebastian Vettel.
Hamilton and Vettel swarmed Bottas on the run to Turn 1, with Hamilton moving to the inside of his team-mate and Vettel almost edging ahead of both on the outside.
Vettel locked up his front right and ran deep into the corner, while Bottas backed out of it in the middle and ceded the lead to Hamilton.
Bottas survived a big slide to hold second as Vettel rejoined the track having taken slightly to the run-off, which sent the Ferrari wide through the second corner.
That blocked Vettel's team-mate Charles Leclerc and allowed Verstappen into third.
As Hamilton streaked clear of Bottas into a commanding lead, Vettel fell further back in fourth as the flat spot he picked up at the first corner proved a "pain in the arse".
He eventually let Leclerc into fourth on lap 12 of 66, and the top five held position for most of the rest of the grand prix.
The major differences at this stage were Hamilton, Bottas and Leclerc committing to a one-stop strategy but Red Bull putting Verstappen on a two-stop and an early change of tyres for Vettel giving him a second stop to make as well.
In the second half of the grand prix Vettel - on mediums - found himself bottled up behind Leclerc, who had switched to fresh hard tyres.
Ferrari deployed team orders again, this time in reverse, to briefly free up Vettel until he made his second stop with 25 laps to go.
That put him back to sixth, behind Pierre Gasly, but he made short work of the second Red Bull to regain fifth.
Verstappen's own second stop dropped him to fourth but he was catching Leclerc and poised to retake third on fresh tyres when the safety car was deployed on lap 46.
Lando Norris tried to pass Lance Stroll on the outside into Turn 1, ran slightly deep and was still tight to the inside as the track went left for Turn 2 when Stroll turned in.
They made contact, pitching Stroll into the barriers across the gravel and leaving Norris's McLaren too hobbled to continue.
Hamilton, Bottas and Leclerc all took the option to make a safe second pitstop under the safety car, which dropped Leclerc behind both Verstappen and Vettel again.
It took until lap 54 for racing to resume, with Hamilton keeping Bottas behind at the restart with ease and going on to win by four seconds.
Behind, Gasly attacked Leclerc for fifth place as the two Haas drivers made light contact into Turn 1 just behind them.
Gasly failed to pass Leclerc and then came under attack from Kevin Magnussen, who had got ahead of team-mate Romain Grosjean by virtue of their minor collision, but just retained the place.
Magnussen went on to finish seventh, although he was fortunate to be in position to make the overtake on his team-mate at the restart.
The Dane dropped behind Daniil Kvyat in the second stint but regained the place when Toro Rosso had a horrible double-pitstop under the safety car.
Toro Rosso appeared not to have Kvyat's tyres ready which meant his stop was slow and held up the second car of Alex Albon, dropping him out of the points as he waited for his team-mate's stop to end.
Kvyat fell to 10th but made it back up to ninth by the finish as Grosjean's race worsened.
After the contact with Magnussen, Grosjean came under attack from Sainz and took to the Turn 1 run-off following a wheel-to-wheel hit.
With Sainz then into ninth, Albon sniffed an opportunity to haul himself back into the points and put Grosjean under pressure in the final laps, but could not steal 10th.
|3||Max Verstappen||Red Bull/Honda||66||7.679s|
|6||Pierre Gasly||Red Bull/Honda||66||19.576s|
|8||Carlos Sainz Jr.||McLaren/Renault||66||32.342s|
|9||Daniil Kvyat||Toro Rosso/Honda||66||33.056s|
|11||Alexander Albon||Toro Rosso/Honda||66||35.445s|
|14||Kimi Raikkonen||Alfa Romeo/Ferrari||66||41.803s|
|15||Sergio Perez||Racing Point/Mercedes||66||46.877s|
|16||Antonio Giovinazzi||Alfa Romeo/Ferrari||66||47.691s|
|17||George Russell||Williams/Mercedes||65||1 Lap|
|18||Robert Kubica||Williams/Mercedes||65||1 Lap|
|-||Lance Stroll||Racing Point/Mercedes||44||Collision|
|11||Carlos Sainz Jr.||10|