Lewis Hamilton recorded his fourth straight Formula 1 victory of 2014, after narrowly defeating Mercedes team-mate Nico Rosberg in a thrilling conclusion to the Spanish Grand Prix.
The silver cars had more than a second per lap in hand over their rivals, so this was only ever going to be a proverbial two-horse race.
Hamilton nailed the start from pole position and held a slender lead through the early stages.
Erstwhile championship leader Rosberg attempted to outwit his team-mate with an alternative strategy, running three laps longer than Hamilton in the first stint and switching to Pirelli's hard tyre rather than taking another set of the mediums on which they both started.
The race appeared to hinge on whether Rosberg could stay within a couple of seconds of Hamilton through his stint on the slower tyre, in order to jump him with an earlier final stop.
But Hamilton stayed out of reach and was four seconds up the road when Mercedes decided to pit him for the final time on lap 43 of 66.
That gave him track position for the final stint, but the penalty of 23 laps on the slower tyre, while Rosberg faced the prospect of trying to catch and pass his team-mate on-track with his final set of the quicker tyres.
Rosberg homed in as the leaders reeled off the laps, but fell short by just 0.6 seconds, which allowed Hamilton to leapfrog him in the title race and lead the championship table for the first time since he won the Canadian GP of 2012.
Behind the dominant Mercedes cars, Red Bull's Daniel Ricciardo claimed his maiden podium finish in F1 by taking third.
The Williams of Valtteri Bottas held that place initially, after an excellent start from fourth on the grid, but was jumped at the first round of pitstops and was powerless to prevent the Red Bull of reigning champion Sebastian Vettel jumping him for fourth at Turn 10 in the closing stages.
The four-time world title winner produced a swashbuckling performance to climb from 15th on the grid and finish only one place behind his team-mate.
Full driver quotes and race data on FORIX
Red Bull pitted Vettel early to get him out of sequence with the rest, and the German made full use of an aggressive three-stop strategy to climb the order, producing some bolshy overtaking moves when required.
Spanish home hero Fernando Alonso used a similar three-stop strategy to beat Ferrari team-mate Kimi Raikkonen to sixth.
Raikkonen delivered his strongest performance of the season relative to his team-mate, but was powerless to prevent Alonso passing on fresher tyres in the late stages of the race, despite making it as difficult as he reasonably could.
Romain Grosjean delivered the first points of the season to the Lotus team by bringing the twin-tusk E22 home in eighth.
The Franco-Swiss driver started fifth and held that place early on, but gradually fell back as faster cars asserted their authority over the race distance.
Spanish GP weekend in pictures
The Force Indias of Sergio Perez and Nico Hulkenberg claimed the final points on offer by jumping the sluggish McLaren of Jenson Button at the start and rounding out the top 10.
A three-stop strategy did not pay off for Felipe Massa, who started ninth but trailed home 13th behind the McLarens of Button and Kevin Magnussen.
Results - 66 laps:
Pos Driver Team/Car Time/Gap
1. Lewis Hamilton Mercedes 1h41m05.155s
2. Nico Rosberg Mercedes +0.636s
3. Daniel Ricciardo Red Bull-Renault +49.014s
4. Sebastian Vettel Red Bull-Renault +1m16.702s
5. Valtteri Bottas Williams-Mercedes +1m19.293s
6. Fernando Alonso Ferrari +1m27.743s
7. Kimi Raikkonen Ferrari +1 lap
8. Romain Grosjean Lotus-Renault +1 lap
9. Sergio Perez Force India-Mercedes +1 lap
10. Nico Hulkenberg Force India-Mercedes +1 lap
11. Jenson Button McLaren-Mercedes +1 lap
12. Kevin Magnussen McLaren-Mercedes +1 lap
13. Felipe Massa Williams-Mercedes +1 lap
14. Daniil Kvyat Toro Rosso-Renault +1 lap
15. Pastor Maldonado Lotus-Renault +1 lap
16. Esteban Gutierrez Sauber-Ferrari +1 lap
17. Adrian Sutil Sauber-Ferrari +1 lap
18. Jules Bianchi Marussia-Ferrari +2 laps
19. Max Chilton Marussia-Ferrari +2 laps
20. Marcus Ericsson Caterham-Renault +2 laps
Kamui Kobayashi Caterham-Renault 34 laps
Jean-Eric Vergne Toro Rosso-Renault 24 laps
Pos Driver Points
1. Lewis Hamilton 100
2. Nico Rosberg 97
3. Fernando Alonso 49
4. Sebastian Vettel 45
5. Daniel Ricciardo 39
6. Nico Hulkenberg 37
7. Valtteri Bottas 34
8. Jenson Button 23
9. Kevin Magnussen 20
10. Sergio Perez 20
11. Kimi Raikkonen 17
12. Felipe Massa 12
13. Romain Grosjean 4
14. Jean-Eric Vergne 4
15. Daniil Kvyat 4
Pos Team Points
1. Mercedes 197
2. Red Bull-Renault 84
3. Ferrari 66
4. Force India-Mercedes 57
5. Williams-Mercedes 46
6. McLaren-Mercedes 43
7. Toro Rosso-Renault 8
8. Lotus-Renault 4
9. Sauber-Ferrari 0
10. Marussia-Ferrari 0
11. Caterham-Renault 0