On a still slightly damp track, the race bizarrely started without poleman Joe Roberts in position, as the American Racing rider suffered a bike problem ahead of the warm-up lap and didn’t catch up to the back of the pack before the red lights went out.
Remy Gardner took advantage of Roberts’ absence to vault into an early lead ahead of Xavi Vierge and Lowes, but on the second tour Marc VDS man Lowes picked off both the Petronas Sprinta bike of Vierge and Gardner’s SAG machine to grab the lead.
Dixon on the second Petronas machine then charged up to second on the third lap of 26, with teammate Vierge crashing out on lap 5, and on lap 7 he took advantage of Lowes running wide at Garage Vert to take the lead.
The former British Superbike title contender had a lead as big as three seconds at one point before a recovering Lowes started to close back in, with the gap between the pair stabilising at a little over a second in the middle part of the race.
But Dixon’s hopes of a first grand prix win ended on lap 22 with a low-side at the final corner, gifiting Lowes a lead he would manage to the chequered flag to claim his first victory since the 2016 Aragon round – and his first since his ill-fated MotoGP stint.
Gardner passed VR46 rider Marco Bezzecchi on the last lap to grab second, his best result of the year, while Augusto Fernandez was fourth on the second Marc VDS bike.
From last, Roberts completed a remarkable charge to finish in sixth place behind Thomas Luthi (Intact GP). Rounding out the top 10 were Fabio di Giannantonio (Speed Up), Lorenzo Baldassarri (Pons), Enea Bastianini (Italtrans) and Somkiat Chantra (Honda Team Asia).
Points leader Luca Marini (VR46) finished out of the points in 17th following his massive practice crash that required him to be taken for hospital for a check-up.
Marini nonetheless maintains a 13-point lead at the head of the table with five rounds to run ahead of Bastianini, while Bezzecchi and Lowes are 20 and 22 points back respectively.
UPDATE: Bastianini was handed a three-second time penalty after the race for an unauthorised tyre change prior to the race, dropping him from ninth to 11th. It means Marini's lead at the head of the standings goes back up to 15 points.
|1||22|| Sam Lowes ||Kalex||25|
|2||87|| Remy Gardner ||Kalex||25||3.822|
|3||72|| Marco Bezzecchi ||Kalex||25||4.184|
|4||37|| Augusto Fernandez ||Kalex||25||5.884|
|5||12|| Thomas Luthi ||Kalex||25||21.668|
|6||16|| Joe Roberts ||Kalex||25||29.197|
|7||21|| Fabio Di Giannantonio ||Speed Up||25||32.249|
|8||7|| Lorenzo Baldassarri ||Kalex||25||34.376|
|9||35|| Somkiat Chantra ||Kalex||25||35.392|
|10||23|| Marcel Schrotter ||Kalex||25||35.521|
|11||33|| Enea Bastianini ||Kalex||25||37.720|
|12||40|| Hector Garzo ||Kalex||25||37.910|
|13||42|| Marcos Ramirez ||Kalex||25||38.423|
|14||62|| Stefano Manzi ||MV Agusta||25||43.464|
|15||55|| Hafizh Syahrin ||Speed Up||25||44.036|
|16||24|| Simone Corsi ||MV Agusta||25||44.217|
|17||10|| Luca Marini ||Kalex||25||59.550|
|18||19|| Lorenzo Dalla Porta ||Kalex||25||1'09.735|
|19||57|| Edgar Pons ||Kalex||25||1'09.751|
|20||64|| Bo Bendsneyder ||NTS||25||1'12.930|
|21||45|| Tetsuta Nagashima ||Kalex||25||1'14.158|
|22||74|| Piotr Biesiekirski ||NTS||24||1 Lap|
|99|| Kasma Daniel Kasmayudin ||Kalex||22|
|96|| Jake Dixon ||Kalex||20||5 Laps|
|9|| Jorge Navarro ||Speed Up||18||7 Laps|
|11|| Nicolo Bulega ||Kalex||15||10 Laps|
|27|| Andi Gilang ||Kalex||5||20 Laps|
|97|| Xavi Vierge ||Kalex||4||21 Laps|
|88|| Jorge Martin ||Kalex||2||23 Laps|
|View full results|