Valentino Rossi claimed his first MotoGP win in almost three years with a commanding ride in the Dutch Grand Prix.
The Italian had not stood on the top step of the podium since the 2010 Malaysian Grand Prix, during his previous stint with Yamaha, but controlled proceedings at Assen to claim his 80th win in grand prix motorcycling's premier class.
Seven podium finishes - just three in two years with Ducati - since his last win marked a hallow return for the nine-time world champion, but he returned to winning ways in style in Saturday's race.
Having qualified on the second row, Rossi hauled in and passed the fast-starting Hondas of Dani Pedrosa and Marc Marquez.
Cal Crutchlow dropped back after a poor start, as the Hondas hit the front with Pedrosa - up from fifth - leading Marquez. Stefan Bradl moved past Crutchlow to hold third, but would drop back to sixth.
Jorge Lorenzo, racing with a broken collarbone, had an astonishing first lap to vault up the order from 12th to fifth, and began to pressure the Tech 3 Yamaha in front of him as the front three escaped.
A mistake from Crutchlow at Turn 10 allowed Lorenzo to sneak by, and on the start of the next lap Rossi passed Marquez into Turn 1 after the Spaniard had wobbled on the exit of the chicane.
Rossi then set about catching Pedrosa and was soon on the tail of the lead Honda, leaving Marquez to briefly fend off Lorenzo before the defending champion's injury caused him to drop back.
The crowd on the start-finish straight were then delighted as Rossi outbraked Pedrosa into the final chicane and - as at Mugello and Barcelona - the championship leader began to slip back.
He was passed by Marquez and Crutchlow - who had passed Lorenzo at the final corner by this point - as Rossi extended his lead to more than two seconds, though the battle for the runner-up spot was far from settled.
Crutchlow was all over Marquez in the closing laps trying to find a way through, and it seemed almost inevitable the duo would come to blows.
They almost did when, with just two laps remaining, Marquez seemed to struggle under braking for Turn 1 and Crutchlow was caught out by the significantly slower Honda and had to take avoiding action - almost skating off-track as they avoided contact by the smallest of margins.
By this point Rossi was well clear, the squabbling behind him allowing a final lap without pressure, the Italian punching the air as he crossed the line to win.
Aleix Espargaro was the class of the CRT field. He ran as high as seventh in the opening laps and finished eighth, beating both works Ducatis.
Results - 26 laps: Pos Rider Team/Bike Time/Gap 1. Valentino Rossi Yamaha 41m25.202s 2. Marc Marquez Honda + 2.170s 3. Cal Crutchlow Tech 3 Yamaha + 4.073s 4. Dani Pedrosa Honda + 7.832s 5. Jorge Lorenzo Yamaha + 15.510s 6. Stefan Bradl LCR Honda + 27.519s 7. Alvaro Bautista Gresini Honda + 31.598s 8. Aleix Espargaro Aspar Aprilia + 32.405s 9. Bradley Smith Tech 3 Yamaha + 33.751s 10. Andrea Dovizioso Ducati + 33.801s 11. Nicky Hayden Ducati + 34.371s 12. Randy de Puniet Aspar Aprilia + 57.674s 13. Andrea Iannone Pramac Ducati + 1m01.424s 14. Michele Pirro Pramac Ducati + 1m01.561s 15. Karel Abraham Cardion Aprilia + 1m04.426s 16. Danilo Petrucci Ioda-Suter-BMW + 1m11.114s 17. Colin Edwards Forward FTR-Kawasaki + 1m15.249s 18. Claudio Corti Forward FTR-Kawasaki + 1m24.884s 19. Yonny Hernandez PBM Aprilia + 1m25.854s 20. Hector Barbera Avintia FTR-Kawasaki + 1m25.978s 21. Bryan Staring Gresini FTR-Honda + 1m26.256s 22. Michael Laverty PBM-Aprilia + 1m26.610s 23. Ivan Silva Avintia FTR-Kawasaki + 1m38.173s Retirements: Lukas Pesek Ioda-Suter-BMW 16 laps