Niccolo Antonelli put in a splendid final lap to take his fourth Moto3 win in the Spanish Grand Prix after a vintage race where it again all came down to the final lap.

The Italian had some contact early in the race on his SIC58 Squadra Corse Honda, which saw him drop from his fourth place qualifying position to a low of twelfth around the midway point. 

Antonelli rallied and worked his way back to the leaders, surviving being tagged on the rear wheel by Marcos Ramirez as he fell in the closing stages to hit the front for the final lap, where he held firm to secure his first win since Qatar 2016.

He was joined on the rostrum by Tatsuki Suzuki who had decided, after leading with a gap only to be reeled in, that it was “champagne or crash” - his superior late braking ensured it was the latter, marking his first podium finish after crossing the line second, just 0.242s behind his team-mate.

Their 1-2 also gives the SIC58 Squadra Corse team their first ever win, Paulo Simoncelli taking the trophy fifteen years after his late son Marco's first ever win came in Jerez.

Celestino Vietti was once again the top rookie after a stellar performance which saw him lead briefly before the SIC58 teammates attacked, leaving him third for Sky Racing Team VR46 and the top KTM performer.

Aron Canet put his qualifying breakdown woes behind him, and although he didn’t quite have the pace to hit the podium, he remains the championship leader, with a total of 58, just one point ahead of race winner Antonelli. Jaume Masia drops to third after crashing out on lap three, though he was declared fit after a trip to the medical centre following his huge tumble.

Albert Arenas was tagged by Gabriel Rodrigo when he fell on lap one, dropping way down the order, his fightback, coupled with a string of huge crashes for others in the closing stages saw him claim fifth on his return from injury for Sama Qatar Angel Nieto Team.

Kaito Toba also benefited massively, climbing to sixth despite not making it out of Q1 and starting 24th.

Jakub Kornfeil put in his lunge for a podium finish at the start of the final lap, but it was not to be, he took the chequered flag seventh for Redox PrueselGP.

Lorenzo Dalla Porta had started on pole but a win remains elusive from the top slot on the grid as he faded to eighth for Leopard Racing.

Ai Oguru claimed his best result so far in his rookie season in ninth for Honda Team Asia, while Andrea Migno, who topped warm-up, could not match that pace when he needed it most, completing the top ten for Bester Capital Dubai.

Sky Racing’s Dennis Foggia was given the second long lap penalty in the race (Riccardo Rossi was first) but came back fighting for eleventh.

Darryn Binder was twelfth after making up thirteen places in the race following a poor qualifying for CIP Green Power.

The remaining points went to John McPhee (Petronas Sprinta Racing) who seemed to suffer late in the race after choosing to gamble on a soft rear tyre in13th, Kazuki Masaki (BOE Skull RiderMugen Race) in 14th and Alonso Lopez in 15th for Estrella Galicia 0,0 in 15th.

Stefano Nepa (Fundcation Andres Perez 77) was the best of the wildcard entries, only declared fit to race in the morning following his qualifying fall he finished in 19th. His team-mate Meikon Kawakami was 22nd.

Rodrigo remounted following his lap one fall only to crash out again later in the race.

Filip Salac retired to the pits.

He was followed out of proceedings by Raul Fernandez, who seemed to get more slipstream than he expected as he fired into the back of Antonelli, he was too sent to the medical centre for checks.

Romanao Fenati had taken to charging the long way around to gain position before he fell at the same time at the same corner.

Almost immediately after Raul Fernandez collected Sergio Garcia, who had worked his way into the top ten.

Tom Booth-Amos was the next rider to depart, ending his day in the gravel at turn one with two laps remaining after suffering arm pump symptoms. Makar Yurcheko also failed to go the distance.