SIC58 Honda rider Suzuki took the lead on the fifth lap of 17 and was able to build a small gap over Canet, who also was riding on his own until Andrea Migno (Bester Capital KTM) caught up with him.
As Migno made a move on Canet's KTM for second, Suzuki fell at Turn 7 and the Italian inherited the lead as a result.
But Canet kept putting pressure on Migno and as more riders caught up with the pair, the Spaniard made a move at Turn 1 with three laps to go.
On the final lap, Migno looked set to retake the lead on the back straight, but Canet was back ahead by Turn 12, and eased away from the scrap behind him to take the win by 0.909 seconds.
Migno held off the advances of Gresini Honda's Gabriel Rodrigo at Turn 12 but then his Bester Capital Dubai teammate Jaume Masia passed him into Turn 16.
Masia started the race fourth but was languishing outside of the top 15 for most of the race before pulling off an impressive recovery in the late stages to secure second.
Migno completed the podium from Rodrigo and polesitter Niccolo Antonelli (SIC58).
Snipers Honda rider Tony Arbolino finished sixth after teammate Romano Fenati crashed out at Turn 18, and took Jakub Kornfeil (PrustelGP KTM) with him.
Raul Fernandez (Angel Nieto) finished seventh followed by Alonso Lopez (EG0,0 Honda) and VR46 KTM duo Celestino Vietti and Dennis Foggia.
Can Oncu completed just one lap before crashing while pre-race championship leader Kaito Toba, Tom Booth-Amos, Alex Viu and Ayumu Sasaki also fell.
Masia and Canet are currently first and second in the championship, both with 45 points but Masia ahead on countback.
|13||Lorenzo Dalla Porta||Honda||8.779|
|Ayumu Sasaki||Honda||2 Laps|
|Aleix Viu||KTM||4 Laps|
|Tatsuki Suzuki||Honda||5 Laps|
|Tom Booth-Amos||KTM||7 Laps|
|Romano Fenati||Honda||8 Laps|
|Jakub Kornfeil||KTM||8 Laps|
|Kaito Toba||Honda||8 Laps|
|Can Öncü||KTM||15 Laps|