Casey Stoner held off the attentions of Jorge Lorenzo to win at Jerez for the first time in his MotoGP career.
The Australian and Spaniard were locked together for the duration of the race, at first in a lead group of four and then, as the field separated, in a lone duel for victory in the second round.
In a mirror of the Qatar opener Lorenzo's Yamaha shadowed the lead Honda of Stoner, which had worked its way up from fifth on the grid, but this time there was no arm pump issue to trouble the Australian.
There was however the issue of tyre wear, with both Stoner and Lorenzo having big moments as the race drew to a close. Lorenzo was never truly able to mount a challenge, and Stoner managed an emphatic final lap to pull clear of the Yamaha and close out his first win of the season.
His works Honda stable-mate Dani Pedrosa had also been involved early on, stealing a march on Lorenzo away from the start and leading the opening laps.
Ducati's Nicky Hayden and the two Tech 3 Yamahas of Cal Crutchlow and Andrea Dovizioso were also involved at first, before Stoner and Lorenzo began to stretch away.
Pedrosa's bid for victory was effectively ended on lap three as he dropped from first to fourth in a single corner - Stoner and Lorenzo passing him on the inside and Hayden on the outside.
That put him into a four-way battle for third with Hayden and the two Tech 3s, a group from which he and Crutchlow were eventually able to escape, creating a second two-bike duel just behind the leaders.
Dovizioso came home a relatively quiet fifth ahead of Gresini's Alvaro Bautista and the LCR Honda of Stefan Bradl.
Hayden's pace tailed off and he eventually finished ninth, one place ahead of team-mate Valentino Rossi - though in truth their races were wild opposites, Rossi never able to break higher than the fringes of the top 10.
Pramac's Hector Barbera claimed 10th ahead of Ben Spies, the Texan again cutting a disconsolate figure on the second works Yamaha.
Randy de Puniet had been tucked up close to Spies on his Aspar CRT bike, but ran out of fuel on the final lap.
Team-mate Aleix Espargaro therefore finished top of the CRT pile, coming home in 12th.
Results - 27 laps:
Pos Rider Team/Bike Time/Gap
1. Casey Stoner Honda 45m33.897s
2. Jorge Lorenzo Yamaha + 0.947s
3. Daniel Pedrosa Honda + 2.063s
4. Cal Crutchlow Tech 3 Yamaha + 2.465s
5. Andrea Dovizioso Tech 3 Yamaha + 18.100s
6. Alvaro Bautista Gresini Honda + 21.395s
7. Stefan Bradl LCR Honda + 28.637s
8. Nicky Hayden Ducati + 28.869s
9. Valentino Rossi Ducati + 34.852s
10. Hector Barbera Pramac Ducati + 35.103s
11. Ben Spies Yamaha + 38.041s
12. Aleix Espargaro Aspar Aprilia + 1m12.728s
13. Danilo Petrucci Ioda-Aprilia + 1m18.669s
14. Mattia Pasini Speed Master Aprilia + 1m29.142s
15. Ivan Silva Avintia Inmotec-Kawasaki + 1m32.478s
16. Colin Edwards Forward Suter-BMW + 1m40.577s
17. Karel Abraham Cardion Ducati + 1 lap
Randy de Puniet Aspar Aprilia 25 laps
James Ellison Forward Suter-BMW 24 laps
Michele Pirro Gresini FTR-Honda 18 laps
Yonni Hernandez Avintia FTR-Kawasaki 0 laps