Fabio Quartararo fought through to win an action-packed Doha Grand Prix, while Johann Zarco stole second from Pramac team-mate Jorge Martin with a last lap lunge.
Quartararo slipped back from his fifth position starting spot to seventh in the early stages of the contest with a slow start, the Yamaha man running in tandem with team-mate Maverick Vinales as the factory M1 duo struggled to make progress.
Positions swapped almost every lap amongst the leading group of nine riders including all four Ducati pilots as well as both Suzuki’s and Aleix Espargaro’s Aprilia.
Martin led most of the encounter from pole position as the bulk of the field focussed on conserving their rubber for the final laps, the insurmountable power from the Ducati’s setting its rivals back somewhat.
Quartararo finally elected to pull the pin as the race ticked into its final few laps, the Frenchman having ghosted his way up to fourth before taking third as Francesco Bagnaia ran wide at Turn 1 with just a few tours remaining.
The M1 could carry visibly greater corner speed than the fading Ducati’s by this point in the race, allowing Quartararo to first fire past Zarco with just a few laps remaining before dumping Martin from the lead with a bold move at Turn 4, immediately making good his escape across the final couple of circulations.
Martin tried in vain to remain close enough to the Yamaha to draft back past on the run towards Turn 1 but it was not to be, leaving him to try and defend his runners-up position from Pramac team-mate Zarco.
The double Moto2 world champion had looked after his tyres better and looked for a way through on the final lap, eventually taking his chance into the penultimate bend before successfully holding on to bag his second straight runners-up result ahead of Martin-a first ever rostrum in only his second MotoGP start.
Quartararo meanwhile had crossed the line 1.5 seconds earlier, his first for the factory Yamaha squad and the fourth of his premier class career to complete the Qatar double for the Japanese manufacturer.
Alex Rins took the chequered flag fourth after struggling to make use of his mid-race speed, while Vinales completed the top five after making several key errors over the final couple tours while trying to find a way past the two Pramac Desmosedici’s.
Bagnaia was sixth ahead of Mir after the reigning MotoGP world champion had a coming together with Jack Miller’s Ducati at the exit of the final turn.
Miller attempted to run the Suzuki wide as they exited the bend side-by-side, though the two briefly locked together and lost momentum, dropping both outside the top six as a result and robbing them of any chance of a rostrum.
Brad Binder rescued a tough pair of Qatar outings for KTM with a strong run to eighth ahead of a fading Miller, while Aleix completed the top ten for Aprilia.
Enea Bastianini came home 11th for Avintia Ducati, while a potentially strong run for Pol Espargaro was ended after running wide at Turn 1 in the closing stages as he caught the lead group, dropping him to an eventual finishing position of 13th.
Valentino Rossi struggled to make up ground from his lowly starting spot of 21st to take the flag just outside the points in 16th, capping a disastrous day for the Petronas SRT team with Franco Morbidelli only 12th.
Alex Marquez and Iker Lecuona were the races only retirements, the double-MotoGP podium finisher crashing his Honda yet again mid-race while the latter went down shortly afterwards.
Zarco’s double-second position haul from Qatar means he leads the riders standings with 40 points heading to Portimao in a fortnight, while Quartararo’s win sees him second overall just four points back level on points with Vinales.