Jorge Lorenzo snatched a sensational last-lap victory from Marc Marquez at the Italian Grand Prix as Valentino Rossi's dreams of a 10th MotoGP win at Mugello went up in smoke on Sunday.
Lorenzo moved ahead of pole-sitter Rossi by the first corner and it appeared as though he had the race in the bag when his Movistar Yamaha team-mate's engine gave way with 16 laps remaining to end the Italian's hopes of a first home victory since 2008.
Marquez was in no mood to allow championship leader Lorenzo a comfortable day, though, and the Repsol Honda rider edged ahead on the final lap as he found room on the inside.
The drama was far from over and the lead changed hands another two times to leave Marquez ahead at the last corner, but Lorenzo was still not done and he beat his Spanish compatriot on the line in a dramatic ending.
Victory extends Lorenzo's lead at the top, while Andrea Iannone completed a good day on the track with the final podium place.
LORENZO QUICK OFF THE MARK
While Rossi got a good start it was Lorenzo who reached the first corner in the lead, the Spaniard finding a gap on the inside of his team-mate to sneak ahead. Having completed that manoeuvre Lorenzo pulled away before snatching a third win of 2016.
ENGINE CONCERN FOR YAMAHA
Seeing Rossi's engine deny the Italian a chance at victory in Mugello capped a worrying Sunday for Yamaha, having seen Lorenzo suffer the same issue earlier in the day - a rare double fault from the constructors' champions.
DUCATI AVOID COLLISION AS BATTLES CONTINUE
After a collision between Ducati team-mates Andrea Dovizioso and Iannone last time out at Le Mans, the pair were again in a battle for third place in Italy.
They avoided any problems this time, though, despite a number of overtakes apiece before a mistake from Dovizioso allowed Iannone and Dani Pedrosa (Repsol Honda) to go through, the former eventually taking third in another epic battle.
IN THE POINTS
1. Jorge Lorenzo (Movistar Yamaha) 41:36.535
2. Marc Marquez (Repsol Honda) +0.019
3. Andrea Iannone (Ducati) +4.742
4. Dani Pedrosa (Repsol Honda) +4.910
5. Andrea Dovizioso (Ducati) +6.256
6. Maverick Vinales (Suzuki) +8.670
7. Brad Smith (Monster Yamaha) +13.340
8. Danilo Petrucci (Octo Pramac) +14.598
9. Aleix Espargaro (Suzuki) +18.643
10. Michele Pirro (Ducati) +22.298
Jorge Lorenzo 115
Marc Marquez 105
Valentino Rossi 78
Dani Pedrosa 66
Maverick Vinales 59
A return to Spain is next up for the paddock as Lorenzo looks to make it three in a row on home soil.