After being overtaken on the first bend, Mercedes' Lewis Hamilton fought back to pass Ferrari's Sebastian Vettel and claim his second win of the season. Daniel Ricciardo was third in a race that wasn't short on incident.
The Spanish grand prix has been won by the man at the front of the grid on all but three of the past 16 occasions, making the dramatic events that marked the first lap on Sunday all the more surprising.
First, Vettel slipped past Hamilton on the first corner, then Max Verstappen and Kimi Raikonnen were involved in a collision that saw both cars come off the track and both drivers forced to quit the race.
Three-time champion Hamilton kept pushing to regain his lead, with the pair's cars even touching on lap 38. And the Briton eventually took his chance with 22 laps remaining, roaring past his German rival on the straight of lap 44.
With the rest of the field way off the pace, the battle between the two drivers continued as they approached the final laps. Hamilton was concerned about his overheating rear tires with Ferrari hoping they would prove the three-time champion's downfall.
But the 31-year-old was able to put those concerns behind him, recording his fastest lap on the penultimate lap, and extending his lead as the race entered its final stages. The established pattern at Barcelona was extended - but with a little bit more excitement than is usually the case.
"I lost nearly two kilos during the race. It was a tough physical battle with Seb and I'm so happy to get the win," he said afterwards.
The victory means Hamilton cuts Vettel's lead in the driver's championship to six points ahead of the Monaco grand prix on May 28. The retirements of Raikonnen and Verstappen plus Hamilton's teammate Valtteri Bottas mean the championship is already looking like a two horse race.