Albert Arenas stole victory from Jaume Masia at the penultimate corner of a chaotic Moto3 Austrian Grand Prix to extend his world championship lead.
The 23-lap Moto3 encounter at the Red Bull Ring was complete chaos, with the lead changing hands almost every lap.
Aspar rider Arenas grabbed the holeshot off the line ahead of poleman Raul Fernandez on the Ajo KTM and Petronas Sprinta's John McPhee.
McPhee moved into the lead at Turn 4 on the opening lap, though would lose the spot a few laps later to Tech3 rookie Deniz Oncu.
McPhee would drop to 13th in the early stages as the battle raged, but would recover to get back into the victory battle by the final tour.
Oncu traded the lead with Darryn Binder - who came from 22nd on the grid - on laps seven and eight, before Arenas muscled his way back to the head of the pack on the 11th tour.
Sky VR46's Celestino Vietti, Masia, Areans, Oncu and his Tech3 team-mate Ayumu Sasaki took turns leading in the closing stages - though the latter was hit with a long lap penalty for exceeding track limits just as he moved to the front on lap 20.
Masia re-assumed control at the front as the field headed onto lap 21, and would stay there onto the final tour.
A carve up between a handful of riders behind at Turn 3 gave him a slight margin on the run through the rest of the lap, but Arenas closed right in through the third sector on the Leopard rider.
Arenas launched his Aspar KTM up the inside of Masia at the penultimate turn and was successful, with the Spaniard defending his line through the last corner to score his third win of the season.
Masia held onto second on the run to the chequered flag for his first rostrum appearance since Malaysia last year, while Ai Ogura cross the line third.
However, the Honda Team Asia rider exceeded track limits at the last corner and was hit with a one-place penalty, as was fourth-placed Binder.
This promoted Vietti to third, but he too was hit with a one-place drop, which moved McPhee - who survived late contact with Vietti on last lap - up from sixth to third.
Ogura ended up fourth after penalties had been applied, with Binder, Vietti, Snipers Honda's Tony Arbolino, Oncu, Fernandez and SIC58's Tatsuki Suzuki completed the top 10.
Sasaki recovered to 14th after serving his long lap penalty having dropped well outside the points.
Arenas now leads the standings by 28 points, with McPhee's lucky podium limiting the damage to his title hopes.
Moto3 Austria results - 23 laps
|1||Albert Arenas||Valresa Aspar Team||KTM||37m25.323s|
|2||Jaume Masia||Leopard Racing||Honda||0.049s|
|3||John McPhee||Petronas Sprinta Racing||Honda||0.447s|
|4||Ai Ogura||Honda Team Asia||Honda||0.121s|
|5||Celestino Vietti||SKY Racing Team VR46||KTM||0.292s|
|6||Darryn Binder||CIP - Green Power||KTM||0.275s|
|7||Tony Arbolino||Rivacold Snipers Team||Honda||0.487s|
|8||Deniz Oncu||Red Bull KTM Tech 3||KTM||1.083s|
|9||Raul Fernandez||Red Bull KTM Ajo||KTM||1.136s|
|10||Tatsuki Suzuki||SIC58 Squadra Corse||Honda||1.177s|
|11||Gabriel Rodrigo||Kommerling Gresini Moto3||Honda||2.221s|
|12||Andrea Migno||SKY Racing Team VR46||KTM||1.924s|
|13||Ayumu Sasaki||Red Bull KTM Tech 3||KTM||2.596s|
|14||Jeremy Alcoba||Kommerling Gresini Moto3||Honda||2.228s|
|15||Stefano Nepa||Valresa Aspar Team||KTM||2.609s|
|16||Sergio Garcia||Estrella Galicia 0,0||Honda||2.866s|
|17||Romano Fenati||Sterilgarda Max Racing Team||Husqvarna||2.920s|
|18||Riccardo Rossi||BOE Skull Rider Facile Energy||KTM||3.486s|
|19||Niccolo Antonelli||SIC58 Squadra Corse||Honda||4.276s|
|20||Kaito Toba||Red Bull KTM Ajo||KTM||4.309s|
|21||Dennis Foggia||Leopard Racing||Honda||5.776s|
|22||Carlos Tatay||Reale Avintia Moto3||KTM||8.485s|
|23||Alonso Lopez||Sterilgarda Max Racing Team||Husqvarna||10.963s|
|24||Ryusei Yamanaka||Estrella Galicia 0,0||Honda||23.563s|
|25||Maximilian Kofler||CIP - Green Power||KTM||23.814s|
|26||Yuki Kunii||Honda Team Asia||Honda||23.970s|
|27||Davide Pizzoli||BOE Skull Rider Facile Energy||KTM||23.929s|
|28||Jason Dupasquier||CarXpert PruestelGP||KTM||24.064s|
|-||Filip Salac||Rivacold Snipers Team||Honda||Retirement|
|-||Barry Baltus||CarXpert PruestelGP||KTM||Retirement|
|-||Khairul Idham Pawi||Petronas Sprinta Racing||Honda||Not started|