Lewis Hamilton roared back to the top of the Formula One world championship with victory in Spain as Mercedes continued their record start to a season with a fifth successive one-two.
The 76th victory of the five times world champion's career, and third of the season, sent the Briton seven points clear of Finnish team mate Valtteri Bottas after five of the 21 races.
Hamilton took an extra point for the fastest lap of the race, his first of the campaign, and was helped by a safety car deployment 20 laps from the end giving him a free second pitstop.
Max Verstappen finished third for Honda-powered Red Bull with Ferrari's Sebastian Vettel and Charles Leclerc, at a loss to rein in Mercedes, crossing the line fourth and fifth respectively.
"This is history in the making to have five one-twos," said Hamilton. "I'm very proud to be a part of that and proud of everyone's hard work."
Bottas had started on pole position as championship leader but made a sluggish getaway and lost out in a three-abreast rush to the first corner, with Hamilton on the inside and Vettel trying his chances on the outside.
Hamilton squeezed through while Vettel slightly locked up and damaged his tyres, with Bottas holding on to second place after a slight correction and Verstappen sweeping through from fourth on the grid to third.
"It was pretty tight but I lost it at the start, there was some strange behaviour on the clutch -- it was like biting, releasing, biting, releasing and I've not felt that before," said Bottas.
"As a team it's incredible, the fifth one-two in a row is really good. I got some good points, every single point is going to count this year, so that's good for sure but I'm just keen to find out why the start was so bad."
The Ferrari drivers twice followed orders and swapped places as the Italian team tried in vain to come up with a strategy to close the gap as the Silver Arrows disappeared into the distance.
Both Vettel and Leclerc also made comparatively slow first pitstops.
The safety car was deployed after McLaren's Lando Norris and Racing Point's Lance Stroll tangled and ended up stranded in the gravel.
Frenchman Pierre Gasly was sixth for Red Bull, with both the Haas cars finishing in the points -- Kevin Magnussen in seventh and Romain Grosjean 10th and scoring for the first time this season.
Spaniard Carlos Sainz was eighth for McLaren and Daniil Kvyat ninth for Toro Rosso.