Nico Rosberg has finally got the better of Mercedes teammate Lewis Hamilton this season, winning the Spanish Grand Prix from pole position on Sunday to gain ground on the championship leader.
Hamilton finished in second place and Ferrari's Sebastian Vettel was third.
The morale-boosting win was Rosberg's ninth and his first since the Brazilian GP — the penultimate race of the last season — which the German also won from pole.
Hamilton has won three of five races this season, with Vettel the only other driver to beat him when the German won the Malaysian GP in March.
McLaren's misery continued as two-time F1 champion Fernando Alonso retired just short of halfway with faulty brakes — on the same track where he last won a race two years ago with Ferrari.
Hamilton has finished in the top two for 12 straight races since retiring at last season's Belgium GP in August. He leads Rosberg by 20 points and dominant Mercedes has finished 1-2 in three of five races so far.
Although the 730-meter straight to the first turn offered Hamilton the chance to apply instant pressure, Rosberg got away well. Hamilton stuttered — hampered by wheel spin — as Vettel overtook him and he only just held off the Williams of Valtteri Bottas heading into the first corner. Bottas finished fourth and Ferrari's Kimi Raikkonen was fifth.
Alonso retired on the 28th lap because of brake problems, after overshooting his stop as he entered the pits, sending a front jack flying which thankfully did not hit the mechanic nearby.