John McPhee put himself back into championship contention with a supremely timed and managed race in the Moto3 San Marino Grand Prix at Misano.

The Petronas Sprinta rider instantly made moves forward from his 17th pace on the grid and then sat patiently aboard his Honda in the lead pack.

The frontrunners ran down their tyre grip and McPhee dropped outside the top ten again before he began his move to the front late in the race.

Taking the lead with three laps to go, McPhee suffered a wobble after hitting a track ripple and was passed by Gabriel Rodrigo and Tatsuki Suzuki. Having learned where the track undulations were, the British rider rode a great final lap, his perfect track placement leading to his third world championship win.

Pole man Ai Ogura also needed a late run to pull back into the podium places. His final surge for the win was hampered by a bump on track, leaving the Honda Team Asia rider to settle for second with not even the sliptream enough to catch McPhee, who had a 0.037s advantage at the line.

Are KTM Serious MotoGP 2020 Title Contenders? | Misano MotoGP Preview | Crash MotoGP

The pair make huge championship gains with Albert Arenas falling on the penultimate lap. Ogura is just five points behind in the standings after Misano, and McPhee is now fourteen points adrift.

The all Honda rostrum was completed by last year’s winner, Tatsuki Suzuki, at an always emotional home race for his SIC58 Squadra Corse team.

Jeremy Alcoba was again the top rookie in fourth, his best finish to date with Kommerling Gresini.

His teammate Rodrigo lead for much of the race but was shuffled back to fifth on the final lap in a typically close Moto3 finish.

Tony Arbolino forced Arenas out wide before he fell in the battle for position on his way to sixth for Rivacold Snipers.

Jaume Masia took the chequered flag seventh, he too lead briefly in the latter stages for Leopard. Romano Fenati put in his best performance of the season as he appears to have worked out how to get the best from his Husqvanra. He finished eighth for Sterilgarda Max Racing.

Dennis Foggia was lucky to finish at all after being hit by a mid-crash Darryn Binder with nine laps remaining. He dropped to 13th and used the remaining laps to rally for Leopard and climb back to ninth.

Sky Racing VR46’s Andrea Migno did enough to complete the top ten. The Italian was also the top KTM finisher.

Niccolo Antonelli was again able to stage a recovery from a poor qualifying to claim eleventh on the second SIC58 Squadra Corse. Ryusei Yamanaka also staged a late run through the pack to climb to twelfth for Estrella Galicia 0,0.

The remaining points places were filled by Riccardo Rossi (BOE Skull Rider Facile Energy) in 13th, Stefano Nepa (Pull and Bear Aspar Tech 3) in 14th and Carlos Tatay (Reale Avintia Moto3) in 15th.

The first lap saw Sergio Garcia clip Raul Fernandez, who had been fastest in warm-up. They collected an unlucky Celestino Vietti.

Later in the race a distraught Ayumu Sasaki was caught by Alonso Lopez, ending their race after six laps.